Fragen zu Tasmota und MQTT
Verfasst: 14. Mär 2021 19:05
Hallo,
ich habe hier schon etliche Threads gelesen, aber ich bekomme es nicht hin.
System: OH3 auf RPi4 mit Mosquitto
Problem 1: Status WLAN-Schalter aktualisieren
Ich habe folgende mqtt.things:
den Switch dazu
Die Steckdose_1 lässt sich einwandfrei schalten. Ich möchte jedoch in der Sitemap sehen, wenn der Status sich ändert, wenn er z.B direkt am Gerät geändert wird. Geht das überhaupt?
Ich hatte ursprünglich in der Channeldefinition jeweils "power" stehen. Udo1toni hat es in einem Beitrag in Großbuchstaben gesetzt (so erscheint es ja auch in der Tasmotakonsole). Nach dieser Änderung erhalte ich im openhab.log bei jedem Schaltvorgang bzw.
.
In der Sitemap wird der Switchstatus trotzdem nicht geändert
Problem 2: SONOFF-Bridge auslesen
Ich habe eine RF-SONOFF-Bridge als Generic MQTT Thing angelegt.
Nun möchte ich die Meldung eines Wassersensors (wird als EWELINK bzw. SONOFF-Sensor verkauft) auslesen. In der Tasmotakonsole erscheint bei Wasserkontakt
Ich habe ein Stringitem definiert
und aus dem Forum hier eine Rule dazu angelegt:
Leider scheint diese nicht aufgerufen zu werden 
Freue mich über jeden Hinweis
ich habe hier schon etliche Threads gelesen, aber ich bekomme es nicht hin.
System: OH3 auf RPi4 mit Mosquitto
Problem 1: Status WLAN-Schalter aktualisieren
Ich habe folgende mqtt.things:
Code: Alles auswählen
Bridge mqtt:broker:mosquitto [ host="x.x.x.x", secure=false, clientID="openhab" ]{
Thing topic wlan_schalter {
Channels:
Type switch : Steckdose_1 "Steckdose 1" [ stateTopic="stat/Steckdose_1/POWER",transformationPattern="JSONPATH:$.POWER" , commandTopic="cmnd/Steckdose_1/POWER", on="1", off="0" ]
}
Code: Alles auswählen
Switch Steckdose_1 "Steckdose 1" ["Switchable"] { channel="mqtt:topic:mosquitto:wlan_schalter:Steckdose_1" }
Ich hatte ursprünglich in der Channeldefinition jeweils "power" stehen. Udo1toni hat es in einem Beitrag in Großbuchstaben gesetzt (so erscheint es ja auch in der Tasmotakonsole). Nach dieser Änderung erhalte ich im openhab.log bei jedem Schaltvorgang
Code: Alles auswählen
Executing the JSONPATH-transformation failed: Invalid path '$.POWER' in 'ON'
Code: Alles auswählen
Executing the JSONPATH-transformation failed: Invalid path '$.POWER' in 'OFF'
In der Sitemap wird der Switchstatus trotzdem nicht geändert

Problem 2: SONOFF-Bridge auslesen
Ich habe eine RF-SONOFF-Bridge als Generic MQTT Thing angelegt.
Code: Alles auswählen
Thing topic rf_bridge {
Channels:
Type string : rf_data [stateTopic="tele/rf_bridge/RESULT",transformationPattern="JSONPATH:$.RfReceived.Data"]
Code: Alles auswählen
tele/rf_bridge/RESULT = {"Time":"2021-03-14T17:08:27","RfReceived":{"Sync":12400,"Low":340,"High":1140,"Data":"D79129","RfKey":"None"}}
Code: Alles auswählen
String RFBridge "RFBridge Daten [%s]" {channel="mqtt:topic:mosquitto:rf_bridge:rf_data"}
Code: Alles auswählen
rule "sonoffRF"
when
Item RFBridge received update
then
if (RFBridge.state == NULL) {
logInfo("RfBridge.rules", "Item is null, cancelling...")
return;
}
val sonoff_rfdata = RFBridge.state.toString
logInfo("rfbridge.rules", "Received IT Codes: {}", sonoff_rfdata)
end

Freue mich über jeden Hinweis