ESP Event über mqtt
-
- Beiträge: 37
- Registriert: 11. Dez 2019 11:58
Re: ESP Event über mqtt
In der Sidemap, oder in anderen Darstellungsmögichkeiten wie HABPanel
- peter-pan
- Beiträge: 2564
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: ESP Event über mqtt
...und was siehst du im Logger ?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian
-
- Beiträge: 37
- Registriert: 11. Dez 2019 11:58
Re: ESP Event über mqtt
ausserdem funktioniert bei mir diese Schreibweise nicht
Bei dieser Schreibweise (Thing mqtt Topic TempEinstellen) gibt's nur Fehlermeldungen und der Bereich ist weg
Ich muss leider diese Schreibweise (Thing mqtt:topic:rafmqtt:TempEinstellen) nutzen
Mittlerweile fällt mir nicht mehr viel ein.....
Code: Alles auswählen
Bridge mqtt:broker:rafmqtt "MQTT Broker im Haus" @ "Haus"
[
host="localhost",
secure=false,
clientID="openHAB2",
port=1883,
qos=2,
keep_alive_time=30000,
reconnect_time=60000,
username="schnik",
password="schnak"
]
{
Thing mqtt Topic TempEinstellen "Temperaturen Einstellen" (mqtt:broker:rafmqtt) @ "Versorgung"
{
Channels:
Type string : EGVorgabeTemperaturWohnzimmer "Temperaturvorgabe Wohnzimmer" [stateTopic = "/ESP_EG/dummy/Durchschnitt",transformationPattern="JSONPATH:$.ESP_EG.dummy.Durchschnitt", commandTopic="" ]
Type string : EGVorgabeTemperaturFlur "Temperaturvorgabe Flur" [stateTopic = "/ESP_EG/dummy/Flur", transformationPattern="JSONPATH:$.ESP_EG.dummy.Flur", commandTopic="" ]
Type string : EGVorgabeTemperaturVorlauf "Temperaturvorgabe Pumpe EG" [stateTopic = "/ESP_EG/dummy/Pumpe", transformationPattern="JSONPATH:$.ESP_EG.dummy.Pumpe", commandTopic="" ]
}
Ich muss leider diese Schreibweise (Thing mqtt:topic:rafmqtt:TempEinstellen) nutzen
Code: Alles auswählen
Bridge mqtt:broker:rafmqtt "MQTT Broker im Haus" @ "Haus"
[
host="localhost",
secure=false,
clientID="openHAB2",
port=1883,
qos=2,
keep_alive_time=30000,
reconnect_time=60000,
username="schnik",
password="schnak"
]
{
Thing mqtt:topic:rafmqtt:TempEinstellen "Temperaturen Einstellen" (mqtt:broker:rafmqtt) @ "Versorgung"
{
Channels:
Type string : EGVorgabeTemperaturWohnzimmer "Temperaturvorgabe Wohnzimmer" [stateTopic = "/ESP_EG/dummy/Durchschnitt",transformationPattern="JSONPATH:$.ESP_EG.dummy.Durchschnitt", commandTopic="" ]
Type string : EGVorgabeTemperaturFlur "Temperaturvorgabe Flur" [stateTopic = "/ESP_EG/dummy/Flur", transformationPattern="JSONPATH:$.ESP_EG.dummy.Flur", commandTopic="" ]
Type string : EGVorgabeTemperaturVorlauf "Temperaturvorgabe Pumpe EG" [stateTopic = "/ESP_EG/dummy/Pumpe", transformationPattern="JSONPATH:$.ESP_EG.dummy.Pumpe", commandTopic="" ]
}
- peter-pan
- Beiträge: 2564
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: ESP Event über mqtt
...also, die erste Schreibweise, wird, soweit ich weiss, benutzt, wenn die Bridge und die Things in verschiedenen .things-Files benutzt werden, da im Things-File mit angegeben wird, welche Bridge dazu benutzt werden soll. Deshalb passt ja die zweite Schreibweise bei dir.
Das benatwortet aber nicht meine Frage, nach den Ausgaben im Logger für die entsprechenden Items. Du hast doch auch schon
War da nicht vielleicht so eine Info vor oder in der Nähe der Warnung:
Das benatwortet aber nicht meine Frage, nach den Ausgaben im Logger für die entsprechenden Items. Du hast doch auch schon
diese Info bekommen.2019-12-15 11:29:23.185 [WARN ] [l.generic.ChannelStateTransformation] - Executing the JSONPATH-transformation failed: Invalid path '$.ESP_EG.dummy.Durchschnitt' in '21.50'
War da nicht vielleicht so eine Info vor oder in der Nähe der Warnung:
Code: Alles auswählen
2019-12-15 00:06:01.977 [vent.ItemStateChangedEvent] - EG_Vorgabe_Temperatur_Wohnzimmer changed from xx.y to 21.50
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian
-
- Beiträge: 37
- Registriert: 11. Dez 2019 11:58
Re: ESP Event über mqtt
Ja solche Meldungen kommen aber von anderen Aktoren
2019-12-21 14:18:02.027 [vent.ItemStateChangedEvent] - OG_Temperatur_Ankleidezimmer changed from 17.50 to 17.31
habe die letzte 1 im LOG gesucht.
das ist ja komisch
2019-12-21 14:18:02.027 [vent.ItemStateChangedEvent] - OG_Temperatur_Ankleidezimmer changed from 17.50 to 17.31
habe die letzte 1 im LOG gesucht.
das ist ja komisch
-
- Beiträge: 37
- Registriert: 11. Dez 2019 11:58
Re: ESP Event über mqtt
Ha nee nicht wirklich
der Wert ändert sich nur wenn der geändert wird
Kommt in dieser Reihenfolge
der Wert ändert sich nur wenn der geändert wird
Kommt in dieser Reihenfolge
Der letzte Eintrag ist aus den rules, dadurch das der Eintrag keinen Wert hat wird der enthaltene wert auch weiter gegeben2019-12-21 15:07:10.901 [vent.ItemStateChangedEvent] - EG_Vorgabe_Temperatur_Wohnzimmer changed from UNDEF to NaN
2019-12-21 15:07:10.918 [vent.ItemStateChangedEvent] - EG_Vorgabe_Temperatur_Wohnzimmer changed from NaN to UNDEF
2019-12-21 15:07:11.810 [INFO ] [.eclipse.smarthome.model.script.Test] - Temperaturvorgabe Wohnzimmer neue Eingabe: UNDEF
- peter-pan
- Beiträge: 2564
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: ESP Event über mqtt
...also irgend etwas scheint das Item ja zu verändern, aber es ist keine Zahl, die da ankommt (NaN = Not a Number). Jetzt schauen wir uns das Item und das THing noch mal genauer an. Wie sieht das SetUp jetzt aus, einschl. der Rule.
Kannst du auch etwas zu den Werten die der ESP ausgibt erläutern. Da muss doch auch so was wie MQTT laufen, oder ?
Kannst du auch etwas zu den Werten die der ESP ausgibt erläutern. Da muss doch auch so was wie MQTT laufen, oder ?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian
-
- Beiträge: 37
- Registriert: 11. Dez 2019 11:58
Re: ESP Event über mqtt
Also
Thing
}
ITEM
rule
Bei den rules glaube ich nicht das da etwas falsch ist, denn das Commando "receivedCommand.toString" gibt nur den Wert weiter der vorhanden ist. Und da wird mir nix angezeigt.
Am ESP habe ich mir mal den JSON Code ausgeben lassen
Thing
Code: Alles auswählen
Thing mqtt:topic:rafmqtt:TempEinstellen "Temperaturen Einstellen" (mqtt:broker:rafmqtt) @ "Versorgung"
{
Channels:
Type string : EGVorgabeTemperaturWohnzimmer "Temperaturvorgabe Wohnzimmer" [stateTopic = "/ESP_EG/dummy/Durchschnitt",transformationPattern="JSONPATH:$.ESP_EG.dummy.Durchschnitt", commandTopic="" ]
ITEM
Code: Alles auswählen
String EG_Vorgabe_Temperatur_Wohnzimmer "Temperaturvorgabe Wohnzimmer [%s]" <temperature> (EG,Versorgung_EG,Temperatur) ["Switchable"] { channel="mqtt:topic:rafmqtt:TempEinstellen:EGVorgabeTemperaturWohnzimmer" }
Code: Alles auswählen
rule "Temperaturvorgabe Wohnzimmer"
when
Item EG_Vorgabe_Temperatur_Wohnzimmer received command
then
sendHttpGetRequest("http://esp-eg/control?cmd=event,raumWohnzimmerTemp=" + receivedCommand.toString)
logInfo("Test", "Temperaturvorgabe Wohnzimmer neue Eingabe: " + EG_Vorgabe_Temperatur_Wohnzimmer.state )
end
Am ESP habe ich mir mal den JSON Code ausgeben lassen
Code: Alles auswählen
"TaskValues": [
{
"ValueNumber": 1,
"Name": "Wohnraum",
"NrDecimals": 2,
"Value": 22.0
},
{
"ValueNumber": 2,
"Name": "Flur",
"NrDecimals": 2,
"Value": 18.0
},
{
"ValueNumber": 3,
"Name": "Pumpe",
"NrDecimals": 2,
"Value": 40.0
},
{
"ValueNumber": 4,
"Name": "Durchschnitt",
"NrDecimals": 2,
"Value": 22.25
}
],
"DataAcquisition": [
{
"Controller": 1,
"IDX": 0,
"Enabled": "true"
},
{
"Controller": 2,
"IDX": 0,
"Enabled": "false"
},
{
"Controller": 3,
"IDX": 0,
"Enabled": "false"
}
],
"TaskInterval": 60,
"Type": "Generic - Dummy Device",
"TaskName": "dummy",
"TaskEnabled": "true",
"TaskNumber": 12
}
-
- Beiträge: 37
- Registriert: 11. Dez 2019 11:58
Re: ESP Event über mqtt
Wenn ich über mqtt.fx diesen Part /ESP_EG/dummy/Wohnraum Abfrage bekomme ich diesen Wert 22.00
Also liefert der ESP die benötigten Daten über den MQTT broker
Also liefert der ESP die benötigten Daten über den MQTT broker
- peter-pan
- Beiträge: 2564
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: ESP Event über mqtt
... habe gerade beim genaueren Hinschauen gesehen, dass die in der zweiten Schreibweise auch noch mal den Broker angegeben hast(Ist glaub ich nicht richtig).
Also du nimmst als .things-File folgendes:
Hier sind im Moment nur die StateTopics ohne JSON aktiv. Bitte auch so lassen (im Moment). Wie du siehst, sind auch die Doppelpunkte weg, das habe ich vorher nicht gesehen. (Anscheinend war meine erste Aussage über die Trennung von Bridge und Thing nicht ganz korrekt; die Doppelpunkte machens wohl)
das Item sieht so aus:
Den Metapattern hab ich hier auch rausgelassen. Bitte mal so nehmen.
Das sollte mal für den Anfang reichen.
Wenn du das gemacht hast, dann gib wieder Bescheid, wie das Ergebnis ausgefallen ist.
Edit: Bitte mal Item und Thing auf "string" lassen. Mit dem JSON-String von deinem ESP komm ich noch nicht ganz klar
Also du nimmst als .things-File folgendes:
Code: Alles auswählen
Bridge mqtt:broker:rafmqtt "MQTT Broker im Haus" @ "Haus"
[
host="localhost",
secure=false,
clientID="openHAB2",
port=1883,
qos=2,
keep_alive_time=30000,
reconnect_time=60000,
username="schnik",
password="schnak"
]
{
Thing topic TempEinstellen "Temperaturen Einstellen" @ "Versorgung"
{
Channels:
Type string : EGVorgabeTemperaturWohnzimmer "Temperaturvorgabe Wohnzimmer" [stateTopic = "/ESP_EG/dummy/Durchschnitt"]
Type string : EGVorgabeTemperaturFlur "Temperaturvorgabe Flur" [stateTopic = "/ESP_EG/dummy/Flur" ]
Type string : EGVorgabeTemperaturVorlauf "Temperaturvorgabe Pumpe EG" [stateTopic = "/ESP_EG/dummy/Pumpe"]
}
das Item sieht so aus:
Code: Alles auswählen
String EG_Vorgabe_Temperatur_Wohnzimmer "Temperaturvorgabe Wohnzimmer [%s]" <temperature> (EG,Versorgung_EG,Temperatur) { channel="mqtt:topic:rafmqtt:TempEinstellen:EGVorgabeTemperaturWohnzimmer" }
Das sollte mal für den Anfang reichen.
Wenn du das gemacht hast, dann gib wieder Bescheid, wie das Ergebnis ausgefallen ist.
Edit: Bitte mal Item und Thing auf "string" lassen. Mit dem JSON-String von deinem ESP komm ich noch nicht ganz klar
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.1.1 openhabian