[gelöst] openHAB reboot > 30 Min

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
Florian.Reinartz
Beiträge: 117
Registriert: 11. Apr 2022 08:47
Answers: 0
Wohnort: bei Schwerin

[gelöst] openHAB reboot > 30 Min

Beitrag von Florian.Reinartz »

Moin Zusammen,

ich habe das Problem, dass mein openHAB in zwischen über 30 Minuten zum Neustart benötigt.
Es werden sehr viele Bindings geladen und ich habe insgesamt über XXXX Items.
Trotzdem gehe ich davon aus, dass Errormeldungen in den log-Dateien eine Mitverantwortung dafür tragen.
Ich benutze immernoch openHAB 3.4.4 auf einem Raspberry Pi 4 Model B Rev 1.4 mit 4GB.
Folgende Fehlermeldung taucht immer als erstes auf:
2023-12-13 12:44:54.807 [WARN ] [internal.service.FeaturesServiceImpl] - Can't load features repository mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/3.4.0-SNAPSHOT/xml/features
java.lang.RuntimeException: Error resolving artifact org.openhab.core.features.karaf:org.openhab.core.features.karaf.openhab-core:xml:features:3.4.0-SNAPSHOT: [Could not find artifact org.openhab.core.features.karaf:org.openhab.core.features.karaf.openhab-core:xml:features:3.4.0-SNAPSHOT] : mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/3.4.0-SNAPSHOT/xml/features
Habe mal die ganze openhab.log angehängt

Danke für jede hilfreiche Rückmeldung
Gruß
Florian
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Florian.Reinartz am 7. Jan 2024 16:43, insgesamt 1-mal geändert.
openHAB 4.3.4 (64 bit) auf einem Raspberry Pi 5 Model B Rev 1.0 mit 8GB

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

Re: openHAB reboot > 30 Min

Beitrag von udo1toni »

Meine erster Tipp: ergänze in allen *.map Dateien eine Zeile

Code: Alles auswählen

NULL=-
um die Meldungen Failed transforming the state 'NULL' on item los zu werden.
Schau in 'heizung.rules, deconz.rules und ecovacs.rules nach den angemeckerten Fehlern:

Code: Alles auswählen

2023-12-13 12:48:47.902 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'deconz.rules' has errors, therefore ignoring it: [5,1]: missing 'triggered' at 'then' [19,1]: missing 'triggered' at 'then'
2023-12-13 12:49:12.269 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'ecovacs.rules' has errors, therefore ignoring it: [307,60]: missing ')' at '}' [308,9]: extraneous input '}' expecting 'end' [509,1]: mismatched input 'end' expecting ')' [531,1]: mismatched input 'end' expecting ')'
2023-12-13 12:47:00.123 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'heizung.rules' has errors, therefore ignoring it: [516,1]: missing 'end' at 'rule'
In mqtt.things hast Du auch irgendwelche Fehler drin:

Code: Alles auswählen

2023-12-13 12:45:40.542 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model 'mqtt.things', using it anyway:
Provide a thing type ID and a thing ID in this format:
 <thingTypeId> <thingId>
aber openHAB kommt offensichtlich dennoch damit zurecht.
Die Sitemap RzHomeControl.sitemap hat Frames in Frames, das ist nicht zulässig. (Du musst immer irgendwas anderes dazwischen haben)

Code: Alles auswählen

2023-12-13 12:45:37.998 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model 'RzHomeControl.sitemap', using it anyway:
Frames must not contain other frames
Linkable widget should contain either only frames or none at all
Innerhalb einer Ebene entweder ausschließlich Frames oder gar keine Frames. Direkt unterhalb eines Frames kein Frame, sondern ausschließlich andere Widgets.

Die erste Meldung

Code: Alles auswählen

023-12-13 12:44:54.807 [WARN ] [internal.service.FeaturesServiceImpl] - Can't load features repository mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/3.4.0-SNAPSHOT/xml/features
java.lang.RuntimeException: Error resolving artifact org.openhab.core.features.karaf:org.openhab.core.features.karaf.openhab-core:xml:features:3.4.0-SNAPSHOT: [Could not find artifact org.openhab.core.features.karaf:org.openhab.core.features.karaf.openhab-core:xml:features:3.4.0-SNAPSHOT] : mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/3.4.0-SNAPSHOT/xml/features
besagt, dass eine Datei nicht gefunden wird (ist ja auch kein Wunder, Du bist schon auf 3.4.4, da gibt es keine Snapshot 3.4.0 Dateien mehr).
Es könnte etwas dauern, herauszufinden, in welcher Datei der Verweis auf die gesuchte und nicht gefundene Datei steht, die Datei sollte ich aber auf jeden Fall im Zweig

Code: Alles auswählen

$OPENHAB_USERDATA
befinden.
Mein erster Versuch:

Code: Alles auswählen

find $OPENHAB_USERDATA/ -exec grep -i '3.4.0-SNAPSHOT' /dev/null {} \;
sollte Dir alle Vorkommen des Teilstrings ausspucken, Falls die Liste nicht zu lang ist (ich rechen eigentlich mit exakt einem Dateinamen, aber wer weiß...) Wäre der Name der Datei und deren Inhalt interessant.
Evtl. ist in der Datei eine kommaseparierte (oder so) Liste, in der 3.4.0-SNAPSHOT noch drin steht, dann könntest Du die Datei sichern (Kopie anlegen) und nur diesen Eintrag entfernen.
Am besten stoppst Du vprher openHAB und startest es anschließend wieder.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Florian.Reinartz
Beiträge: 117
Registriert: 11. Apr 2022 08:47
Answers: 0
Wohnort: bei Schwerin

Re: openHAB reboot > 30 Min

Beitrag von Florian.Reinartz »

Moin Zusammen,
moin udo1toni,

ich muss Dir mal wieder für die ausführliche Antwort danken.
Habe etwas länger gebraucht da mein Job zum Jahresende doch etwas aufregend wurde :cry:

...wo fange ich an... am besten der Reieh nach.

In allen *.map -Dateien hatte ich NULL= bereits eingetragen.
Allerdings nicht mir einem - sonder mit unterschiedlichem Text.
Mal mit "bitte warten..." mal mit "OK"
In den Rules habe ich in den if-Sätzen auch immer eine Bedingung für NULL definiert um z.B. eine Division duch NULL zu vermeiden.

In der heizung.rules und ecovacs.rules habe ioch die Fehler schon gefunden.
Mit der deconz.rules bin ich noch auf Kriegsfuß...

Fehler in der mqtt.things bekomme ich schon seit OH2 angezeigt.
Allerdings erkenne ich gegenüber den Beispielen im WWW nich was ich falsch machen...
Sind es die geschweiften Klammern die alle Things nach der Bridge einfassen?
(mqtt.things im Anhang)

Die Fehlermaledung mit den Frames ist auch schon "immer" da. Ich weiß, macht die Sache nicht besser...
Sieht aber so schön und übersichtlich aus... (siehe Wetter.png)
Allerdings habe ich grade gemerkt, wenn ich mit Group arbeite und einer Teil der Frames weg lasse... es sieht noch nahezu genau so aus.
Werde die Sitemap mal durcharbeiten.

Also... Snapshot 3.4.0
Der Befehl

Code: Alles auswählen

find $OPENHAB_USERDATA/ -exec grep -i '3.4.0-SNAPSHOT' /dev/null {} \;
schreibt etwa 20 Sekunden den Bildschirm voll.
Mit vorangestelltem sudo etwa 60 Sekunden...
Jede Zeile endet mit ": Ist ein Verzeichnis".
Im Verzeichnis /usr/share/openhab/addons habe ich zwei Dateien:
org.openhab.binding.icloud-3.4.0-SNAPSHOT.jar
org.openhab.binding.modbus.sungrow-3.4.5-SNAPSHOT.jar
Mehr habe ich jetzt nicht gefunden.
Habe noch mal über Samba und den TotalCommander gesucht.

Code: Alles auswählen

U:\srv\openhab-userdaa\cache\org_eclipse_osgi\18\dala\state.json
U:\srv\openhab-userdaa\cache\org_eclipse_osgi\famework.info_679
U:\srv \openhab-userdaa\jsondb\1672585137108-org.openhab.marketplace.json
U :\srv\openhab-userdaa\jsondb\1677345741454-org.openhab.marketplace.json
U:\srv \openhab-userdaa\jsondb\org.openhab.marketplace.json
U:\srv\openhab-userdaa\marketplace\kar\132989\org.openhab.binding.ecovacs-3.4.0-SNAPSHOT.kar
U:\srv\openhab-userdaa\lmp\kar\org.openhab.binding.ecovacs-3.4.0-SNAPSHOT\features.cfg
U:\srv\openhab-userdaa\lmp\kar\org.openhab.binding.ecovacs-3.4.0-SNAPSHOT\org\openhab\addons\bundles\org.openhab.binding.ecovacs\3.4.0-SNAPSHOT\maven-metadata-local.xml
U:\srv \openhab-userdaa\lmp\kanorg openhab .binding_ecovacs-3.4.0-SNAPSHOT\org\openhab\addons\bundles\org.openhab.binding.ecovacs\3.4.0-SNAPSHOT\org.openhab.binding.ecovacs-3.4.0-SNAPSHOT-features.xml
Das Bindinmg von Ecovacs scheint ein 3.4.0 Snapshot zu sein!
Aber es ist doch bestandteil des Binding-Paketes meiner OH3.4.4 Distibution ... hmmmm
Habe mal einen Screenshot gemacht (siehe Ecovacs.png)

Danke und Gruß
Eine gesegnete Weihnachtszeit und einen guten Rutsch in ein gesundes, neuer Jahr 2024.
Florian
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB 4.3.4 (64 bit) auf einem Raspberry Pi 5 Model B Rev 1.0 mit 8GB

Benutzeravatar
Florian.Reinartz
Beiträge: 117
Registriert: 11. Apr 2022 08:47
Answers: 0
Wohnort: bei Schwerin

Re: openHAB reboot > 30 Min

Beitrag von Florian.Reinartz »

die geschweiften Klammern in der mqtt.things müssen sein!!!
Habe mal getestet...
openHAB 4.3.4 (64 bit) auf einem Raspberry Pi 5 Model B Rev 1.0 mit 8GB

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

Re: openHAB reboot > 30 Min

Beitrag von udo1toni »

Florian.Reinartz hat geschrieben: 27. Dez 2023 13:20 In allen *.map -Dateien hatte ich NULL= bereits eingetragen.
Allerdings nicht mir einem - sonder mit unterschiedlichem Text.
Mal mit "bitte warten..." mal mit "OK"
Siehste mal... lesen bildet (also mich...). Es steht ja gar nicht da, dass NULL das Problem ist, sondern dass MAP nicht installiert ist. Du musst die Map Transformation nachinstallieren, damit sie korrekt funktioniert. Falls die Transformation installiert ist, stimmt etwas ganz und gar nicht...
Florian.Reinartz hat geschrieben: 27. Dez 2023 13:20 In den Rules habe ich in den if-Sätzen auch immer eine Bedingung für NULL definiert um z.B. eine Division duch NULL zu vermeiden.
Ja, aber nein. openHAB wird niemals auch nur versuchen, durch NULL zu teilen, denn NULL bedeutet, es ist keine Zahl. openHAB wird also vorher einen Fehler melden. Es gibt aber noch andere Werte, die eine korrekte Berechnung verhindern, die von NULL abweichen, der korrekte Test lautet daher

Code: Alles auswählen

if(Item.state instanceof Number)
damit wird geprüft, ob der Status von Item eine Zahl ist. Im Anschluss müsste man vor einer Division auf 0 prüfen (0 ist etwas anderes als NULL und nochmal was anderes als null)
Florian.Reinartz hat geschrieben: 27. Dez 2023 13:20 In der heizung.rules und ecovacs.rules habe ioch die Fehler schon gefunden.
Mit der deconz.rules bin ich noch auf Kriegsfuß...
Du kannst auch gerne Deine Rules zeigen :)
Florian.Reinartz hat geschrieben: 27. Dez 2023 13:20 Fehler in der mqtt.things bekomme ich schon seit OH2 angezeigt.
Allerdings erkenne ich gegenüber den Beispielen im WWW nich was ich falsch machen...
Sind es die geschweiften Klammern die alle Things nach der Bridge einfassen?
(mqtt.things im Anhang)
Du hast Dir definitiv viel zu viel Arbeit gemacht.
Der erste Punkt ist, Du hast zwei unterschiedliche Schreibweisen miteinander vermischt.
Wenn man Things mit einer Bridge per Textdatei definiert, gibt es zwei Möglichkeiten:
1. man definiert die Bridge und verweist bei jedem Thing auf diese Bridge. Sieht so aus:

Code: Alles auswählen

Bridge mqtt:broker:broker "Broker" [host="localhost"]

Thing mqtt:topic:broker:geraet1 "Gerät 1" (mqtt:broker:broker) [thing-config] {Channels}
Vorteil: Bridge und Broker können komplett getrennt voneinander existieren, z.B. auch in getrennten Dateien oder auch das Eine per UI, das Andere per Text. Nachteil: unheimlich viel Schreibarbeit (verglichen mit Möglichkeit 2)

2. Man definiert die Bridge und darunter alle Things. Das sieht so aus:

Code: Alles auswählen

Bridge mqtt:broker:broker "Broker" [host="localhost"] {
    Thing topic geraet1 "Gerät 1" [thing-config] {Channels}
}
Man spart sich also nicht nur die Angabe des Bindings pro Thing, sondern auch den Teil der UID, der die Bridge angibt (den Du bei Deiner Topic Definition nicht genutzt hast, was eigentlich nicht erlaubt ist, aber zumindest unter OH2 funktionierte. Kann ursächlich für Dein Problem sein). Außerdem braucht es auch keinen Link zur Bridge, denn die ergibt sich ja aus der Hierarchie.
Vorteil also: viel weniger Tipparbeit. Nachteil: Alles muss in dieser einen Datei definiert werden. Also, bis auf die Things, die man dann trotzdem nach Möglichkeit 1 konfiguriert, denn die steht immer zur Verfügung :)
Da es aber ohnehin sinnvoll ist, alles, was zu einer Bridge gehört, auch zusammen mit dieser Bridge zu definieren, kann man diesen Nachteil auch als minder schwer ansehen.

Ein zweiter Punkt ist die Definition Deiner Topics und der Channels. Du brauchst andere Topics für die Rückmeldung und kannst dafür auf Channels verzichten. Außerdem sind ON und OFF ohnehin die korrekten Status für den onValue und den offValue, es ist also sinnlos, diese extra mit zu konfigurieren.

Ein Tasmota Schaltkanal sieht gewöhnlich so aus:

Code: Alles auswählen

Type switch : ch1 "TV Johanna" [ stateTopic="stat/Tasmota036/POWER", commandTopic="cmnd/Tasmota036/POWER" ]
Diese Definition reicht aus, um immer den korrekten Schaltzustand zu haben, gleich ob direkt am Gerät oder über openHAB gesteuert wird stat/device/POWER ist die Antwort auf cmnd/device/POWER und wird auch gesendet, wenn man die Taste am Gerät drückt oder über die Tasmota GUI schaltet.

Die Verbrauchsmessung ist auch so eine Sache. Tasmota speichert diese Daten aus gutem Grund nicht persistent (sonst ginge der Flashspeicher innerhalb weniger Stunden kaputt), was aber auch bedeutet, dass die Messdaten bei Stromausfall weg sind. Man wird also ohnehin anders vorgehen müssen, um sinnvolle Daten zu bekommen, im Zweifel wird man in openHAB selbst ein Item definieren, welches den Verbrauch kumuliert - und zwar indem ENERGY.Total ausgewertet wird. in der passenden Rule wird auf changed getriggert und der neue mit dem alten Wert verglichen. Ist der neue Wert kleiner als der alte Wert, so gab es zwischendurch einen Reset - warum auch immer - und es muss genau der Wert addiert werden, der geliefert wurde. Ist der Wert hingegen größer als der alte Wert, darf nur die Differenz addiert werden. Ungefähr so:

Code: Alles auswählen

when
    Item changed
then
    var mysum = (summernitem.state as Number) + (newState as Number)
    if((newState as Number) > (previousState as Number) 
        mysum = mysum - (previousState as Number)
    summenitem.postUpdate(mysum)
Diese Rule kann so gestaltet werden, dass sie sich um alle gleichartigen Items kümmert. Auf diese Weise kannst Du auf vier Channel pro Schaltkanal mit Messung verzichten und verlierst dabei nichts.

Bei ca. 40 Messstellen kommen natürlich 40 Items für die Summen hinzu, aber es sind ja vorher 160 Items weggefallen :) und für die Optimierung, nur eine Rule zu benötigen kommen noch zwei Group Items dazu.
Florian.Reinartz hat geschrieben: 27. Dez 2023 13:20
Die Fehlermaledung mit den Frames ist auch schon "immer" da. Ich weiß, macht die Sache nicht besser...
Sieht aber so schön und übersichtlich aus... (siehe Wetter.png)
Allerdings habe ich grade gemerkt, wenn ich mit Group arbeite und einer Teil der Frames weg lasse... es sieht noch nahezu genau so aus.
Werde die Sitemap mal durcharbeiten.
Du hast Glück, dass die Sitemap überhaupt dargestellt wird. Ich kann Dir aber versichern (gerade mit dem Screenshot von Dir), das geht auch ohne Fehlermeldung :)
Florian.Reinartz hat geschrieben: 27. Dez 2023 13:20 Also... Snapshot 3.4.0
Der Befehl

Code: Alles auswählen

find $OPENHAB_USERDATA/ -exec grep -i '3.4.0-SNAPSHOT' /dev/null {} \;
schreibt etwa 20 Sekunden den Bildschirm voll.
Mit vorangestelltem sudo etwa 60 Sekunden...
Jede Zeile endet mit ": Ist ein Verzeichnis".
Im Verzeichnis /usr/share/openhab/addons habe ich zwei Dateien:
org.openhab.binding.icloud-3.4.0-SNAPSHOT.jar
org.openhab.binding.modbus.sungrow-3.4.5-SNAPSHOT.jar
Mehr habe ich jetzt nicht gefunden.
Habe noch mal über Samba und den TotalCommander gesucht.

Code: Alles auswählen

U:\srv\openhab-userdaa\cache\org_eclipse_osgi\18\dala\state.json
U:\srv\openhab-userdaa\cache\org_eclipse_osgi\famework.info_679
U:\srv \openhab-userdaa\jsondb\1672585137108-org.openhab.marketplace.json
U :\srv\openhab-userdaa\jsondb\1677345741454-org.openhab.marketplace.json
U:\srv \openhab-userdaa\jsondb\org.openhab.marketplace.json
U:\srv\openhab-userdaa\marketplace\kar\132989\org.openhab.binding.ecovacs-3.4.0-SNAPSHOT.kar
U:\srv\openhab-userdaa\lmp\kar\org.openhab.binding.ecovacs-3.4.0-SNAPSHOT\features.cfg
U:\srv\openhab-userdaa\lmp\kar\org.openhab.binding.ecovacs-3.4.0-SNAPSHOT\org\openhab\addons\bundles\org.openhab.binding.ecovacs\3.4.0-SNAPSHOT\maven-metadata-local.xml
U:\srv \openhab-userdaa\lmp\kanorg openhab .binding_ecovacs-3.4.0-SNAPSHOT\org\openhab\addons\bundles\org.openhab.binding.ecovacs\3.4.0-SNAPSHOT\org.openhab.binding.ecovacs-3.4.0-SNAPSHOT-features.xml
Das Bindinmg von Ecovacs scheint ein 3.4.0 Snapshot zu sein!
Aber es ist doch bestandteil des Binding-Paketes meiner OH3.4.4 Distibution ... hmmmm
Habe mal einen Screenshot gemacht (siehe Ecovacs.png)
Ah, ja, aber nein... Laut Doku gibt es das Binding überhaupt nicht für openHAB3 (sehr wohl aber für openHAB4), ich gehe davon aus, dass Du das irgendwie über Umwege installiert hast. Da das Binding aber da ist, sollte das auch keine großen Probleme auslösen.

Dieser Punkt muss also weiter erforscht werden - die Fehlermeldung ist nicht gesund, Du solltest unbedingt versuchen, solche Fehler weg zu bekommen.

Auch Dir eine gesegnete (Nach-) Weihnachtszeit und komm gut ins neue Jahr!
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Florian.Reinartz
Beiträge: 117
Registriert: 11. Apr 2022 08:47
Answers: 0
Wohnort: bei Schwerin

Re: openHAB reboot > 30 Min

Beitrag von Florian.Reinartz »

Moin Zusammen,

werde mich zunächst mal mit der mqtt.things auseinandersetzen.
Habe jetzt alles angepasst und alles funktioniert auch ABER ALLE Schaltzustände sind nach einem Reboot „NULL“ …
Erst nach dem ich Power ein mal betätigt habe - über openHAB, Taste am Gerät oder über die Tasmota GUI - wird aus NULL der tatsächliche Zustand.
Aus diesem Grund habe ich damals die mqtt.things so komplex aufgebaut.
Ist irgendwo noch ein Fehler??? (Anhang)
Habe nir ich das Problem, dass openHAB den Zustand der tasmota An/Aus Schalters nicht kennt?

Danke und Gruß
Florian

PS: Ich wünsche allen einen guten Rutsch in ein erfolgreiches und gesundes neues Jahr 2024
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
openHAB 4.3.4 (64 bit) auf einem Raspberry Pi 5 Model B Rev 1.0 mit 8GB

EmptySoft
Beiträge: 247
Registriert: 7. Jan 2020 14:45
Answers: 2
Kontaktdaten:

Re: openHAB reboot > 30 Min

Beitrag von EmptySoft »

Florian.Reinartz hat geschrieben: 30. Dez 2023 01:01 Habe jetzt alles angepasst und alles funktioniert auch ABER ALLE Schaltzustände sind nach einem Reboot „NULL“ …
sind die items persisitiert mit restoreOnStartup? Falls nicht, bekommen sie den aktuellen Wert eben erst nachdem sie den Status senden (z.B.: durch schalten)
BYe
Harald

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

Re: openHAB reboot > 30 Min

Beitrag von udo1toni »

Florian.Reinartz hat geschrieben: 30. Dez 2023 01:01 Habe jetzt alles angepasst und alles funktioniert auch ABER ALLE Schaltzustände sind nach einem Reboot „NULL“ …
Ja, das bekommt man aber relativ leicht in den Griff, und zwar mit einer Rule, die zum Systemstart ausgeführt wird.

Code: Alles auswählen

rule "get stats of tasmota devices"
when
    System started
then
    val mqttActions = getActions("mqtt","mqtt:broker:myBroker")
    mqttActions.publishMQTT("cmnd/tasmotas/POWER",null, false)
end
Es wird also ein leerer Befehl an alle Geräte gesendet (tasmotas ist das Subtopic, welches per default von jedem Tasmota Device abonniert wird). Das führt dazu, dass jedes Gerät den aktuellen Zustand sendet.
Wenn man andere Topics ebenfalls benötigt (Dimmer usw.), kann man die zusätzlich anfordern. Ein Gerät, welches das entsprechende Subtopic nicht kennt, wird mit einem Subtopic stat/.../RESULT = {"BEFEHL":"unknown"} antworten, was dann keine Konsequenzen hat, weil dieses Topic ja gar nicht abonniert ist.
Alternativ könnte man die Devices auch so konfigurieren, dass sie ihren Zustand retained senden, dann bekommt openHAB beim Subscript direkt vom Broker den Zustand, das ist aber nicht so schön, weil dann evtl. ein Gerät, welches in Wirklichkeit offline ist, mit einem ON-Zustand angezeigt wird - das ist meist unerwünscht. :)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Florian.Reinartz
Beiträge: 117
Registriert: 11. Apr 2022 08:47
Answers: 0
Wohnort: bei Schwerin

Re: openHAB reboot > 30 Min

Beitrag von Florian.Reinartz »

Moin Zusammen.

muss ich diese Zeile dann für jedes Tasmota-Gerät und für jeden POWER-Schalter schreiben?

Code: Alles auswählen

 mqttActions.publishMQTT("cmnd/tasmotas/POWER",null, false)
also

Code: Alles auswählen

 mqttActions.publishMQTT("cmnd/tasmota042/POWER",null, false)
 mqttActions.publishMQTT("cmnd/tasmota061/POWER1",null, false)
 mqttActions.publishMQTT("cmnd/tasmota061/POWER2",null, false)
 mqttActions.publishMQTT("cmnd/tasmota070/POWER",null, false)
 mqttActions.publishMQTT("cmnd/tasmota085/POWER",null, false)
???
Dann auch für andere channels? Dimmer, Analogwerte…?

Danke und Gruß
Flo
openHAB 4.3.4 (64 bit) auf einem Raspberry Pi 5 Model B Rev 1.0 mit 8GB

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

Re: openHAB reboot > 30 Min

Beitrag von udo1toni »

Nein. Alle Tasmota Geräte hören default auf ein Group Topic - das kannst Du auch in der Tasmota UI unter dem Punkt Informationen finden (Group Topic 1). Wenn Du nicht explizit ein anderes Group Topic konfiguriert hast, ist das Group Topic cmnd/tasmotas/ Wenn Du unter diesem root Topic ein Subtopic sendest, wird der entsprechende Befehl von allen Devices empfangen und ausgeführt. Das kann man z.B. auch nutzen, um für alle Tasmota Geräte auf einen Schlag eine bestimmte Konfiguration zu ändern. Hier wird es einfach verwendet, um alle Geräte dazu zu bringen, mit dem aktuellen Status auf dem passenden Topic zu antworten. Wenn Du einen Dimmer hast, dann ist das passende Topic nicht POWER, sondern Dimmer. Du sendest also mqttActions.publishMQTT("cmnd/tasmotas/Dimmer", null, false) und alle Dimmer antworten auf stat/<devicename>/Dimmer mit ihrem aktuellen Dimmerstatus. Auch bei Rollläden funktioniert das (immer vorausgesetzt, das Tasmota Device ist auch korrekt konfiguriert)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten