Skip to content

root-at-pi/ioBroker-GUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ioBroker-GUI

ioBroker GUI ist ein OpenSource Desktop-Client für Linux, welcher um Aufmerksamkeit zu erhalten Sounds abspielt oder Bash-Skripts ausführt.

Die jeweiligen Zuordnungen lassen sich im Vorfeld konfigurieren oder im Betrieb mit zwei Klicks ändern. Die Benutzeroberfläche, Audioausgabe sowie Logs sind in Deutsch gehalten.

Für die Funktion vorrausgesetzt ist eine im ioBroker eingerichtete Mqtt-Server-Instanz.

ioBroker GUI 0.14-m

Abhängigkeiten

Debian

apt install git python3 python3-tk python3-venv python3-pip

Installation

git clone https://github.com/root-at-pi/ioBroker-GUI.git
cd ioBroker-GUI/
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt

Start

#!/bin/bash
cd ioBroker-GUI/
source venv/bin/activate
python3 main.py

Konfiguration

Die config.xml beinhaltet einige Beispiel-Konfigurationen

<setting>
    <appearance>system</appearance>                         <!-- Erscheinungsbild: system, dark, light -->
    <server_host>192.168.2.12</server_host>                 <!-- Adresse des ioBroker-Server -->
    <server_port>1883</server_port>                         <!-- Port der Mqtt-Instanz -->
    <client_id>testing-config</client_id>                   <!-- Name des Clients -->
    <client_user>ms</client_user>                           <!-- Benutzername der Mqtt-Instanz -->
    <client_pw>geheim</client_pw>                           <!-- Passwort der Mqtt-Instanz -->
</setting>
<action>
    <description>Sound - Benachrichtigung</description>     <!-- Name der Aktion -->
    <run>sound</run>                                        <!-- Art der Aktion: sound, bash -->
    <file>sound/sig_notification.wav</file>                 <!-- Pfad zur Sound- oder Bash Datei -->
    <parameters>none</parameters>                           <!-- Optionale Parameter für die Bash -->
</action>

Es gibt aktuell 4 Typen von Geräten

  • bool Wahr/Unwahr, sichtbar mit Aktion
  • hidden wie bool nur unsichtbar
  • float Anzeige einer Dezimalzahl ohne Aktion
  • separator Trenner
<device>
    <description>Tür Haus</description>                     <!-- Name des Geräts -->
    <adress>zigbee/0/0000000000000000/opened</adress>       <!-- Adresse des Geräts -->
    <default_false>Sound - Zu</default_false>               <!-- Aktionszuweisung für unwahr beim Programmstart -->
    <default_true>Sound - Auf</default_true>                <!-- Aktionszuweisung für wahr beim Programmstart -->
    <color_false>default</color_false>                      <!-- Farbe für unwahr: default, white, orange, green, red -->
    <color_true>default</color_true>                        <!-- Farbe für wahr: default, white, orange, green, red -->
    <round>2</round>                                        <!-- Runden des Anzeigewertes bei Typ float -->
    <unit> €</unit>                                         <!-- Anhängen einer Einheit bei Typ float -->
    <type>bool</type>                                       <!-- Typ des Geräts -->
</device>

Konfiguration der Mqtt-Instanz

Verbindung

  • IP Server/Broker
  • Benuter Benutzername
  • Passwort Passwort

Server Settings

  • Leere Session erzwingen Immer leere Session für alles Clients

Mqtt Einstellungen

  • Maske zum Bekanntgeben eigener States 0_userdata.0.* zigbee.0.* usw.
  • Eigene States beim Verbinden publizieren Abschalten
  • Sende auch Zustände (ack=true) Einschalten
  • Keine neuen Zustände erstellen Einschalten

Mqtt Einstellungen

Hinweis

Dieses Projekt habe ich ursprünglich zum Python lernen und für private Zwecke geschrieben. Nun ist es schon viele Wochen im Einsatz und hat immer gut funktioniert. Da ich mich künftig auch mit Git und GitHub auseinandersetzen möchte, sehe ich dieses Projekt als guten Anfang :)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages