Hauptmenü

MQTT_DEVICE als Flag in fhem

Begonnen von dougie, 21 Oktober 2025, 12:14:34

Vorheriges Thema - Nächstes Thema

dougie

...ich muss meine über 10 Jahre alte und gewachsene fhem Installation langsam mal aufräumen und hab daher viel auf MQTT umgestellt.

Neuer Anwendungsfall: ein zigbee Contact, der den Briefkasten überwachen soll.

Vom mqtt server kommt der unten genannte state, aber NUR wenn die Klappe geöffnet wird ("contact":false).
Ziel ist es, das eine Lampe in fhem an geht, die ich aber nur manuell wieder löschen will. Daher kommt auch absichtlich kein ("contact":true) vom server.

Nur so wie ich das gemacht hab, funktioniert das nicht. Die Lampe geht zwar an, wenn die msg vom Server kommt, aber ich weiss nicht wie ich sie löschen kann.

Frage: wie mache ich das elegant?

Danke & vg Ralf


Readings:
State {"battery":100,"battery_low":false,"contact":false,"linkquality":91,"tamper":false,"voltage":3200}
Status false
state OFF

Attributes:
IODev H3_MQTT
devStateIcon on:LED.orange .*:LED.off
eventMap false:on
group 1_Casa_Status
room 10_Casa
stateFormat Status
subscribeReading_State zigbee2mqtt/Casa_Letterbox
userReadings Status:State.* { my $strg = ReadingsVal($name,'State',''); $strg =~ m,"contact":([a-z]+), ? $1 : undef }

Beta-User

Preisfrage: wenn du jetzt intensiver in MQTT einsteigst, warum dann mit dem json-Gewürge der alten Module?

Die "Lampe" kann z.b. ein per notify geschalteter dummy sein.

Ich würde das vermutlich in _einem_ MQTT2_DEVICE lösen.
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

dougie



...der Weg wäre länger. version $Id: fhem.pl 9118 2015-08-23 12:43:56Z rudolfkoenig $
Das stammt noch aus einer Zeit, als es alle zwei Wochen eine neue Version gab, und ich mit den nötigen Änderungen nicht hinterher kam.
Also bin ich mit einer stabilen Version aus dem Update Prozess ausgestiegen und kann demnach kein mqtt2 installieren.

Beta-User

Zitat von: dougie am 21 Oktober 2025, 12:46:59...der Weg wäre länger. version $Id: fhem.pl 9118 2015-08-23 12:43:56Z rudolfkoenig $
Das stammt noch aus einer Zeit, als es alle zwei Wochen eine neue Version gab, und ich mit den nötigen Änderungen nicht hinterher kam.
Also bin ich mit einer stabilen Version aus dem Update Prozess ausgestiegen und kann demnach kein mqtt2 installieren.
Aber "notify" und "dummy" kennt dein Oldtimer, oder...

Im Ernst: Zeit für eine Neuinstallation auf einem aktuellen OS, just my2ct.
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

dougie

#4
Zitat von: Beta-User am 21 Oktober 2025, 12:54:42Im Ernst: Zeit für eine Neuinstallation auf einem aktuellen OS, just my2ct.

Wenn das nur immer so einfach machbar wäre... ich muss eine fhem.cfg und 99_Utils neu schreiben. Und die sind beide lang und komplex.

Allein mein CUNO2 (noch auf Version 1.61) brauchte endlich mal ein Update, weil er ergendwie zickte. Könnte man ja mal eben zwischendurch machen. ... würde man meinen.

Ich kann hier leider keine Bilder einfügen, aber Update war nicht ... der Silab USB/TTL Chip muss irgendwann mal verstorben sein. Keine Kommunikation möglich.
Also musste ich mir einen neuen direkten Zugang zum Prozessor legen, bevor ich das Update machen konnte. Jetzt immerhin V1.67

Und das hat mal eben alles in allem 2 Stunden gedauert. Und hier ist Zeit immer knapp....

Nur als Versuch der Rechtfertigung, warum ich nicht "mal eben so" fhem neu aufsetze....


Beta-User

...dass das ein gewisser Aufwand ist ist schon klar, und eindenken muss man sich auch, mit neuen OS-Spezifika rumärgern, Perl-libs nachinstallieren, etc....+
Zitat von: dougie am 22 Oktober 2025, 14:27:54ich muss eine fhem.cfg und 99_Utils neu schreiben. Und die sind beide lang und komplex.
Ich würde aber wetten, dass das bei weitem nicht so "lang und komplex" ist, wie du das jetzt glaubst. Im ersten Zugriff kannst du doch einfach via backup+restore versuchen, den Zustand "as is" in die heutige Zeit zu holen. Otto hat dazu ein paar brauchbare Anleitungen gepostet ;) .
Server: HP-elitedesk@Debian 13, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors