Viele unbeantwortete Fragen zu MQTT

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Blui
Beiträge: 52
Registriert: 6. Jul 2020 14:50

Re: Viele unbeantwortete Fragen zu MQTT

Beitrag von Blui »

Jetzt hätte ich fast in die Tischplatte gebissen.....

Äääh, wenn man die ganzen Items in Gruppen haben möchte, wohin schreibt man dann die Gruppenbezeichnungen (eine Datei Namens Gruppen.item vorausgesetzt)
In die Items hinter

Code: Alles auswählen

Number   DHT22StateRssi       "Rssi"                        {channel="mqtt:topic:mosquitto:dht22_2:rssi"}  
oder doch schon in die Things?

Ich habe nämlich eben die Gruppen die mir in VSCode sogar zur Auswahl angeboten wurden dahinter geschrieben und hatte dann in Control im Reiter MQTT nichts mehr stehen. Ebenso wie keine Daten mehr an das HABPanel gesendet wurde. Erst nachdem ich die Gruppen wieder gelöscht habe ging es.

Apropos HABPanel: Die weiter oben genannte "Pumpe 1" funktioniert trotz mehrerer Neustarts immer noch nicht dort. Aber immerhin kann ich sie jetzt im Control schon ein- und ausschalten.
Edit: Zumindest dem Fehler komme ich jetzt schon näher. Ich habe nämlich trotz allem noch einen Sensor darunter geschrieben, jetzt ist der Offline und die Pumpe Online. Und schaltet auch über das HabPanel
Kann also nur ein Tippfehler sein.

Benutzeravatar
udo1toni
Beiträge: 13857
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Viele unbeantwortete Fragen zu MQTT

Beitrag von udo1toni »

Gruppen sind spezielle Items.
Du kannst die Group Items in einer eigenen Datei anlegen, notwendig ist das aber nicht. Wenn, endet der Dateiname aber auf .items, nicht auf .item.
Welche Items der Gruppe angehören, wird über die Itemdefinition angegeben, und zwar nach einem optionalen icon und vor einer optionalen Tag-Definition.Ein komplettes Item:

Code: Alles auswählen

Switch itemName "Item Label [%s]" <iconname> (Groupitem,GroupItem2,...,GroupItemN) [ "Switchable" ] { channel="..." }
Das Profile (ebenfalls optional) lasse ich jetzt mal außen vor, weil die Zeile dann noch viel länger werden könnte...
Notwendig ist nur das Schlüsselwort für die Itemart und der Itemname, alle anderen Teile können wahlfrei weg gelassen werden, die Reihenfolge ist aber unbedingt einzuhalten. Wenn also ein Item mit Label und Channel Definition nachträglich zu einem Gruppenmember erklärt werden soll, muss die Definition vor den Channel und nach dem Label stehen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Blui
Beiträge: 52
Registriert: 6. Jul 2020 14:50

Re: Viele unbeantwortete Fragen zu MQTT

Beitrag von Blui »

Ich glaube da muss ich mich demnächst mal näher mit beschäftigen.
Es ging dabei um einem Button im Habpanel mit dem ich alle Lichter der jeweiligen Gruppe ausschalten kann. Aber da ist dann wohl mehr als nur ein Gruppeneintrag nötig, oder?

Eine ganz andere Frage die wieder nichts mit MQTT zu tun hat:
Ich habe Grafana eingerichtet, das läuft auch toll, habe mir eine Datei in den persistence-ordner gelegt, alledings kann ich die nicht mir VSCode speichern nach dem editiieren. Es kommt dann immer "Failed to save 'influxdb.persist': Insufficient permissions. Select 'Retry as Admin' to retry as administrator." Kann man das irgendwie ändern das ich zum ändern nicht immer Putty starten muss?

Benutzeravatar
udo1toni
Beiträge: 13857
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Viele unbeantwortete Fragen zu MQTT

Beitrag von udo1toni »

Nein, das ist eine der leichtesten Übungen...

Code: Alles auswählen

Group:Switch:OR(ON,OFF) gLicht "eingeschaltete Leuchten [%s]" 
Switch Licht1 "Licht 1 [%s]" (gLicht) { ... }
Switch Licht2 "Licht 2 [%s]" (gLicht) { ... }
Stellvertretend hier zwei Lichter.
In der Sitemap (also für Basic UI oder auch eine der Apps)

Code: Alles auswählen

Switch item=gLicht mappings=[OFF="Aus!"]
ergibt ein Wigdet, welches Dir anzeigt, wieviele Leuchten im Haus eingeschaltet sind. Neben dem Widget gibt es eine Schaltfläche, die alle Leuchten ausschaltet. Es ist keine Rule nötig.
Im HABpanel kannst Du das Item genauso verwenden (es ist nur etwas umständlich, die Konfiguration hier wiederzugeben).
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Blui
Beiträge: 52
Registriert: 6. Jul 2020 14:50

Re: Viele unbeantwortete Fragen zu MQTT

Beitrag von Blui »

Das klappt ja fast gut. :) Die Lichter gehen wie gewünscht aus.

Aber ich habe in der Sitemap dann dieses Bild
gruppenlicht.jpg
Das

Code: Alles auswählen

Group:Switch:OR(ON,OFF) gLight "eingeschaltet [%]"
muss doch in die Items-Datei, oder verstehe ich das jetzt falsch?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 13857
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Viele unbeantwortete Fragen zu MQTT

Beitrag von udo1toni »

Doch,. Das ist schon richtig. Aber da fehlt noch ein s nach dem %. Ich hab‘s oben verbessert...


Gesendet von iPad mit Tapatalk
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Blui
Beiträge: 52
Registriert: 6. Jul 2020 14:50

Re: Viele unbeantwortete Fragen zu MQTT

Beitrag von Blui »

Super, jetzt funktioniert es.

Und ich habe schon wieder eine neue Frage:
Ich möchte von diversen Sensoren die Mittelwerte berechnen und habe dazu auch schon hier was im Forum gefunden.

Das funktioniert auch so wie hier, allerdings nur bei einem Wert.

Code: Alles auswählen

Group:Number:AVG          gSensTemp             "Durchschnittstemperatur [%s °C]"           // Durchschniitt aller Temperatursensoren //
Ich kann dann auch im HAPPanel den gewünschten Wert anzeigen lassen.

Möchte ich allerdings noch andere Daten abfragen bekomme ich keine neuen Items mehr

Code: Alles auswählen

Group:Number:AVG          gSensHum              "Durchschnittsluftfeuchtigkeit [%s %%]"     // Durchschniitt aller Feuchtigkeitssensoren //
Group:Number:AVG          gSensPres             "Durchschnittsluftdruck [%s hPa]"           // Durchschniitt aller Luftdrucksensoren //
Was mache ich denn jetzt wieder falsch? :?

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Viele unbeantwortete Fragen zu MQTT

Beitrag von Darkwin101 »

Hats du die Gruppe auch Items zugewiesen ?
Du musst bei jeder Luftfeucktigkeit bzw. Luftdruck den du in der Gruppe haben möchtest auch der Gruppe zuweisen
Item Luftdruck1 "Luftdruckxy1" (gSensPres) {......}
Item Luftdruck2 "Luftdruckxy2" (gSensPres) {....}
usw.
oder verstehe ich deine Frage falsch

Blui
Beiträge: 52
Registriert: 6. Jul 2020 14:50

Re: Viele unbeantwortete Fragen zu MQTT

Beitrag von Blui »

Ja. klar, hab ich

Code: Alles auswählen

Number          DHT22DataDataTemp                           "Temperatur [%.1f °C]"      (gSens,gSensTemp)         {channel="mqtt:topic:mosquitto:dht22:dataTemp"}    
Number          DHT22DataDataHum                            "Luftfeuchtigkeit [%d %%]"  (gSens,gSensHum)         {channel="mqtt:topic:mosquitto:dht22:dataHum"}    
Number          BME280DataDataTemp                          "Temperatur [%.1f °C]"      (gSens,gSensTemp)         {channel="mqtt:topic:mosquitto:bme280:dataTemp"}  
Number          BME280DataDataHum                           "Luftfeuchtigkeit [%d %%]"  (gSens,gSensHum)         {channel="mqtt:topic:mosquitto:bme280:dataHum"}     
Number          BME280DataDataPres                          "Luftdruck [%.1f hPa]"      (gSens,gSensPres)         {channel="mqtt:topic:mosquitto:bme280:dataPres"}    
Number          BMP180DataDataTemp                          "Temperatur [%.1f °C]"      (gSens,gSensTemp)         {channel="mqtt:topic:mosquitto:bmp180:dataTemp"}
Number          BMP180DataDataPres                          "Luftdruck [%.1f hPa]"      (gSens,gSensPres)         {channel="mqtt:topic:mosquitto:bmp180:dataPres"}

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Viele unbeantwortete Fragen zu MQTT

Beitrag von Darkwin101 »

Dann stelle deine frage etwas anders bitte oder beschreibe bitte deine Frage etwas was möchtest du machen und was funktioniert nicht ich kann dann deiner Frage nicht folgen :)

Antworten