• Weihnachtspause

    Im Zeitraum vom 21.12.2024 bis zum 03.01.2025 erfolgt kein Versand. Ab dem 04.01.2025 sind wir dann wieder wie gewohnt für euch da!

    Das WLANThermo Team wünscht euch allen fröhliche und glückliche Feiertage!

ioBroker MQTT und das ESP-Mini

s.ochs

BOFH
Teammitglied
Admin
Danke! Schauen wir uns mal an. Was mich etwas wundert, sind die vielen Wifi-Settings. Sind das alles aktive SSID-Netze bei dir?
 

Steak-Thermo

Active member
Eigentlich sind für den ESP nur zwei relevant, die beiden 7490 im Mesh. Der zentrale (an dem er sich heute vermutlich angemeldet hat) und der, der für den Grillplatz in Frage kommt. Außerdem gibt es noch einen AP, da hat er sich aber vermutlich noch nicht angemeldet.
 

s.ochs

BOFH
Teammitglied
Admin
Ok, Aulöser für den Reset scheint zu sein, dass die Passwörter aktuell "Überlänge" haben. Bisher sind die nur mit 32 Zeichen im Code vorgesehen, das kann gut gehn, solange bis der nicht definierte, aber benutzte, Speicherplatz für das länger Passwort überschrieben wird, was wohl aktuell der Fall ist. Folgendes Vorgehn zur Korrektur. Du hältst beim Start des ESP (also Strom dran) den Button auf der Oberseite der Platine (da wo Recovery dran steht) mehrere Sekunden lang gedrückt. Der ESP sollte dann direkt im AP Recovery Modus starten und statt sich mit deinem Netzwerk zu verbinden einen AP aufmachen. Mit dem kannst du dich verbinden und die IP 192.168.66.1 aufrufen (@tuniii richtig?). Dann siehst du den Recovery Modus und kannst dort die Einstellungen zurücksetzen. Wir bereiten ein Update vor, das mit längeren Passwörtern umgehen kann und dann kannst du ein Update über einen Hotspot an einem Smartphone etc. oder durch Aufspielen der Firmware im Recovery Modus durchführen.
 

Steak-Thermo

Active member
Da hat der ESP jetzt nicht drauf reagiert. Ich habe den Finger auf den Knopf gehalten, Strom angeschlossen und gewartet. Aber auch nach vielen Sekunden habe ich noch den Startbildschirm.
Ich kann den ESP aber auch direkt neu bespielen. Ich habe hier Arduino in Version 1.8.12.
 

tuniii

Entwickler
Teammitglied
Auf dem Display wirst du nichts sehen, aber du solltest ein neues Wlan mit dem Namen "WLANThermo-RecoveryMode" entdecken. Auf dem loggst du dich mit dem Passwort "12345678" ein. Dann kommst du mit der IP 192.168.66.1 in das Recovery-Menu. Dort kannst du die Einstellungen löschen.
Neu Aufspielen hilft in diesem Fall nicht, da damit die Einstellungen nicht gelöscht werden.
 
Zuletzt bearbeitet:

lemuba

Member
@Steak-Thermo

Wäre klasse, wenn Du mir hier nochmal weiterhelfen könntest. Node-red läuft nun auf meinem Iobroker - nur wie bekomme ich den mqtt-String geparst...?, bzw. wieder als Datenpunkt zurück in den Iobroker... Hänge da noch in node-red fest - Werte komme rein->debug, aber dann verlassen mich meine Künste ;-) Also 1-2 Screenshots aus nr wären supi...
 

Steak-Thermo

Active member
Soweit war ich noch nicht, wie gesagt, da bin ich auch noch recht grün und mein Pi will gerade nicht. Daher kann ich dir keine Screenshots liefern.
Es gibt einen Node zum Parsen von JSON, der sollte dir die Einzelwerte liefern. Schau mal bei youtube, da gibt es diverse gute Tutorials.
 

Steak-Thermo

Active member
So, läuft wieder. :cool:
Wenn du node-red unter ioBroker installiert hast, hast du die Nodes "ioBroker in" und "ioBroker out". Mit letzterem kannst du Werte in den ioBroker schreiben.
Das gleiche hast du für mqtt, einmal "in" (lesen vom Thermo) und einmal "out" (schreiben ans Thermo). Die Befehle habe ich noch nicht ausprobiert, aber meinem Sauger kann ich sagen, dass er sich mal melden soll, wenn ich per infect-Node das command "locate" an "mqtt out" schicke.
 

Steak-Thermo

Active member
Es ist etwas später geworden, da hatte ich keinen Elan mehr Bilder einzustellen. ;-)

Ein Beispiel für das Schreiben von Daten per mqtt:
Du nimmst einen inject-Node und füllst die Nutzdaten ein. Hier ist ein String mit dem Befehl "locate".
1585983857084.png

Außerdem brauchst du den Node "mqtt out". Hier trägst du deinen mqtt-Broker ein. In meinem Fall ist das der mqtt-Broker von ioBroker. Im Topic wird eingetragen, wer die Daten bekommen soll. Das ist im Beispiel unser Saugroboter, der sich per mqtt am ioBroker angemeldet hat. Unter mqtt taucht der (bzw. das Thermo) im ioBroker in den Objekten auf. Du kannst den Pfad dort kopieren, das ist aber keine gute Idee, wie ich hier ja schon feststellen musste. Dann würde "mqtt.0.valetudo.rockrobo.command" eingetragen. Im Node muss aber "valetudo/rockrobo/command" stehen.
1585984071502.png

Jetzt noch fix die beiden Nodes verbinden und dann kannst du durch Drücken des Buttons am inject-Node den Befehl absetzen. Unser Roboter meldet sich dann mit einem "Hallo, hier bin ich.". Beim Thermo läuft das analog.

Hier wurde jetzt der Befehl über den Node injiziert. Das geht natürlich auch über eine Oberfläche. Aber da bin ich komplett raus.
Wenn du einfach auf Änderungen von Werten in den Objekten reagieren möchtest, nimmst du den Node "ioBroker in". Das Topic kannst du hier direkt über den Button hinter der Eingabezeile aus ioBroker übernehmen. Als Ziel gibst du den entsprechenden Node vor (Debug, ioBroker out, mqtt out, ...).
Dann gibt es noch die Parser, Funktionen, ...

Blockly soll auch ganz gut sein...
 

lemuba

Member
@Steak-Thermo

Vielen Dank erstmal! Mein Problem ist aber, wie ich aus:

{"system":{"time":"1585993384","unit":"C","rssi":-51,"online":2},"channel":[{"number":1,"name":"Grillraum","typ":0,"temp":22.80,"min":80.00,"max":140.00,"alarm":0,"color":"#0C4C88","fixed":false},{"number":2,"name":"Pulled P.","typ":0,"temp":20.60,"min":8.00,"max":95.00,"alarm":0,"color":"#22B14C","fixed":false},{"number":3,"name":"Kanal 3","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#EF562D","fixed":false},{"number":4,"name":"Kanal 4","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#FFC100","fixed":false},{"number":5,"name":"Kanal 5","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#A349A4","fixed":false},{"number":6,"name":"Kanal 6","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#804000","fixed":false},{"number":7,"name":"Kanal 7","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5587A2","fixed":false},{"number":8,"name":"Kanal 8","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5C7148","fixed":false},{"number":9,"name":"Kanal 9","typ":15,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5C7148","fixed":true},{"number":10,"name":"Kanal 10","typ":15,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5C7148","fixed":true}],"pitmaster":{"type":["off","manual","auto"],"pm":[{"id":0,"channel":1,"pid":1,"value":100,"set":200.00,"typ":"auto","set_color":"#ff0000","value_color":"#000000"},{"id":1,"channel":2,"pid":1,"value":0,"set":50.00,"typ":"off","set_color":"#FE2EF7","value_color":"#848484"}]}}

Z.B. das: [{"number":1,"name":"Grillraum","typ":0,"temp":22.80,"min

zurück in einen einzlnen "neuen" Datenpunkt in Iobroker bekomme, also nur den Wert 22.8

Rein und raus aus von Iobroker in Node-Red bekome ich schon, nur mit der String-Extrahierung fehlts mir noch....

Google mich da mal Abends durch - nun is schönes Wetter in S-H und es geht raus zum Corona Volkslauf;-)
 

Phantomias2006

Entwickler
Teammitglied
Admin
@Steak-Thermo

Vielen Dank erstmal! Mein Problem ist aber, wie ich aus:

{"system":{"time":"1585993384","unit":"C","rssi":-51,"online":2},"channel":[{"number":1,"name":"Grillraum","typ":0,"temp":22.80,"min":80.00,"max":140.00,"alarm":0,"color":"#0C4C88","fixed":false},{"number":2,"name":"Pulled P.","typ":0,"temp":20.60,"min":8.00,"max":95.00,"alarm":0,"color":"#22B14C","fixed":false},{"number":3,"name":"Kanal 3","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#EF562D","fixed":false},{"number":4,"name":"Kanal 4","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#FFC100","fixed":false},{"number":5,"name":"Kanal 5","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#A349A4","fixed":false},{"number":6,"name":"Kanal 6","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#804000","fixed":false},{"number":7,"name":"Kanal 7","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5587A2","fixed":false},{"number":8,"name":"Kanal 8","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5C7148","fixed":false},{"number":9,"name":"Kanal 9","typ":15,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5C7148","fixed":true},{"number":10,"name":"Kanal 10","typ":15,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5C7148","fixed":true}],"pitmaster":{"type":["off","manual","auto"],"pm":[{"id":0,"channel":1,"pid":1,"value":100,"set":200.00,"typ":"auto","set_color":"#ff0000","value_color":"#000000"},{"id":1,"channel":2,"pid":1,"value":0,"set":50.00,"typ":"off","set_color":"#FE2EF7","value_color":"#848484"}]}}

Z.B. das: [{"number":1,"name":"Grillraum","typ":0,"temp":22.80,"min

zurück in einen einzlnen "neuen" Datenpunkt in Iobroker bekomme, also nur den Wert 22.8

Rein und raus aus von Iobroker in Node-Red bekome ich schon, nur mit der String-Extrahierung fehlts mir noch....

Google mich da mal Abends durch - nun is schönes Wetter in S-H und es geht raus zum Corona Volkslauf;-)
Importier dir das mal in NodeRed:
JSON:
[
   {
      "id":"39c3dc56.46a1f4",
      "type":"tab",
      "label":"Nano",
      "disabled":false,
      "info":""
  
},
   {
      "id":"e19e5979.f371f",
      "type":"mqtt in",
      "z":"39c3dc56.46a1f4",
      "name":"",
      "topic":"WLanThermo/NANO-XXXX/status/data/#",
      "qos":"2",
      "datatype":"auto",
      "broker":"e805d722.393a18",
      "x":185.71429443359375,
      "y":158.57143211364746,
      "wires":[
         [
            "7170bb1e.03683c"
        
]
      
]
  
},
   {
      "id":"aedc4600.60feb8",
      "type":"function",
      "z":"39c3dc56.46a1f4",
      "name":"Temperaturen",
      "func":"var msg1 = [];\nfor (var i = 0; i < 8; i++) {\n\tmsg1.push({ payload: msg.payload.channel[i].temp,\n\tui_control:{\"unit\":\"Hallo\",\"min\":msg.payload.channel[i].min,\"max\":msg.payload.channel[i].max} \n\t    \n\t});\n}\nreturn msg1;",
      "outputs":8,
      "noerr":0,
      "x":572.8571395874023,
      "y":158.5714569091797,
      "wires":[
         [
            "c0acc038.307288"
        
],
         [
            "bf8dc414.7937c8"
        
],
         [
            "e354da84.779a58"
        
],
         [
            "2b135ab0.ff2fae"
        
],
         [
            "8803a280.1db24"
        
],
         [
            "f4fbfbf2.fcf47"
        
],
         [
            "aaa42d08.22cf4"
        
],
         [
            "2c4f3d30.ba5392"
        
]
      
],
      "outputLabels":[
         "Kanal 1",
         "",
         "",
         "",
         "",
         "",
         "",
         ""
      
]
  
},
   {
      "id":"7170bb1e.03683c",
      "type":"json",
      "z":"39c3dc56.46a1f4",
      "name":"",
      "property":"payload",
      "action":"obj",
      "pretty":false,
      "x":420.00001525878906,
      "y":158.5714340209961,
      "wires":[
         [
            "aedc4600.60feb8"
        
]
      
]
  
},
   {
      "id":"c0acc038.307288",
      "type":"ui_gauge",
      "z":"39c3dc56.46a1f4",
      "name":"",
      "group":"4485437e.211fdc",
      "order":1,
      "width":"4",
      "height":"4",
      "gtype":"gage",
      "title":"Kanal 1",
      "label":"units",
      "format":"{{value}}",
      "min":0,
      "max":10,
      "colors":[
         "#00b500",
         "#e6e600",
         "#ca3838"
      
],
      "seg1":"",
      "seg2":"",
      "x":801.4285583496094,
      "y":44.28571319580078,
      "wires":[

      
]
  
},
   {
      "id":"bf8dc414.7937c8",
      "type":"ui_gauge",
      "z":"39c3dc56.46a1f4",
      "name":"",
      "group":"4485437e.211fdc",
      "order":0,
      "width":"4",
      "height":"4",
      "gtype":"gage",
      "title":"Kanal 2",
      "label":"units",
      "format":"{{value}}",
      "min":0,
      "max":10,
      "colors":[
         "#00b500",
         "#e6e600",
         "#ca3838"
      
],
      "seg1":"",
      "seg2":"",
      "x":801.4285507202148,
      "y":76.28571128845215,
      "wires":[

      
]
  
},
   {
      "id":"e354da84.779a58",
      "type":"ui_gauge",
      "z":"39c3dc56.46a1f4",
      "name":"",
      "group":"4485437e.211fdc",
      "order":0,
      "width":"4",
      "height":"4",
      "gtype":"gage",
      "title":"Kanal 3",
      "label":"units",
      "format":"{{value}}",
      "min":0,
      "max":10,
      "colors":[
         "#00b500",
         "#e6e600",
         "#ca3838"
      
],
      "seg1":"",
      "seg2":"",
      "x":802.0000152587891,
      "y":108.8571424484253,
      "wires":[

      
]
  
},
   {
      "id":"2b135ab0.ff2fae",
      "type":"ui_gauge",
      "z":"39c3dc56.46a1f4",
      "name":"",
      "group":"4485437e.211fdc",
      "order":0,
      "width":"4",
      "height":"4",
      "gtype":"gage",
      "title":"Kanal 4",
      "label":"units",
      "format":"{{value}}",
      "min":0,
      "max":10,
      "colors":[
         "#00b500",
         "#e6e600",
         "#ca3838"
      
],
      "seg1":"",
      "seg2":"",
      "x":802,
      "y":141,
      "wires":[

      
]
  
},
   {
      "id":"8803a280.1db24",
      "type":"ui_gauge",
      "z":"39c3dc56.46a1f4",
      "name":"",
      "group":"4485437e.211fdc",
      "order":0,
      "width":"4",
      "height":"4",
      "gtype":"gage",
      "title":"Kanal 5",
      "label":"units",
      "format":"{{value}}",
      "min":0,
      "max":10,
      "colors":[
         "#00b500",
         "#e6e600",
         "#ca3838"
      
],
      "seg1":"",
      "seg2":"",
      "x":801.8571472167969,
      "y":173.99999523162842,
      "wires":[

      
]
  
},
   {
      "id":"f4fbfbf2.fcf47",
      "type":"ui_gauge",
      "z":"39c3dc56.46a1f4",
      "name":"",
      "group":"4485437e.211fdc",
      "order":0,
      "width":"4",
      "height":"4",
      "gtype":"gage",
      "title":"Kanal 6",
      "label":"units",
      "format":"{{value}}",
      "min":0,
      "max":10,
      "colors":[
         "#00b500",
         "#e6e600",
         "#ca3838"
      
],
      "seg1":"",
      "seg2":"",
      "x":802.1428680419922,
      "y":206.5714282989502,
      "wires":[

      
]
  
},
   {
      "id":"aaa42d08.22cf4",
      "type":"ui_gauge",
      "z":"39c3dc56.46a1f4",
      "name":"",
      "group":"4485437e.211fdc",
      "order":0,
      "width":"4",
      "height":"4",
      "gtype":"gage",
      "title":"Kanal 7",
      "label":"units",
      "format":"{{value}}",
      "min":0,
      "max":10,
      "colors":[
         "#00b500",
         "#e6e600",
         "#ca3838"
      
],
      "seg1":"",
      "seg2":"",
      "x":802.1428527832031,
      "y":239.42857360839844,
      "wires":[

      
]
  
},
   {
      "id":"2c4f3d30.ba5392",
      "type":"ui_gauge",
      "z":"39c3dc56.46a1f4",
      "name":"",
      "group":"4485437e.211fdc",
      "order":0,
      "width":"4",
      "height":"4",
      "gtype":"gage",
      "title":"Kanal 8",
      "label":"units",
      "format":"{{value}}",
      "min":0,
      "max":10,
      "colors":[
         "#00b500",
         "#e6e600",
         "#ca3838"
      
],
      "seg1":"",
      "seg2":"",
      "x":801.5714111328125,
      "y":274.8571472167969,
      "wires":[

      
]
  
},
   {
      "id":"e805d722.393a18",
      "type":"mqtt-broker",
      "z":"",
      "name":"",
      "broker":"localhost",
      "port":"1883",
      "clientid":"",
      "usetls":false,
      "compatmode":true,
      "keepalive":"60",
      "cleansession":true,
      "birthTopic":"",
      "birthQos":"0",
      "birthRetain":"false",
      "birthPayload":"",
      "closeTopic":"",
      "closeQos":"0",
      "closeRetain":"false",
      "closePayload":"",
      "willTopic":"",
      "willQos":"0",
      "willRetain":"false",
      "willPayload":""
  
},
   {
      "id":"4485437e.211fdc",
      "type":"ui_group",
      "z":"",
      "name":"Kanal 1",
      "tab":"bdf5f613.e3169",
      "disp":true,
      "width":"20",
      "collapse":false
  
},
   {
      "id":"bdf5f613.e3169",
      "type":"ui_tab",
      "z":"",
      "name":"Nano",
      "icon":"dashboard",
      "order":2,
      "disabled":false,
      "hidden":false
  
}
]
 

Steak-Thermo

Active member
@Steak-Thermo

Vielen Dank erstmal! Mein Problem ist aber, wie ich aus:

{"system":{"time":"1585993384","unit":"C","rssi":-51,"online":2},"channel":[{"number":1,"name":"Grillraum","typ":0,"temp":22.80,"min":80.00,"max":140.00,"alarm":0,"color":"#0C4C88","fixed":false},{"number":2,"name":"Pulled P.","typ":0,"temp":20.60,"min":8.00,"max":95.00,"alarm":0,"color":"#22B14C","fixed":false},{"number":3,"name":"Kanal 3","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#EF562D","fixed":false},{"number":4,"name":"Kanal 4","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#FFC100","fixed":false},{"number":5,"name":"Kanal 5","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#A349A4","fixed":false},{"number":6,"name":"Kanal 6","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#804000","fixed":false},{"number":7,"name":"Kanal 7","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5587A2","fixed":false},{"number":8,"name":"Kanal 8","typ":0,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5C7148","fixed":false},{"number":9,"name":"Kanal 9","typ":15,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5C7148","fixed":true},{"number":10,"name":"Kanal 10","typ":15,"temp":999.00,"min":10.00,"max":35.00,"alarm":0,"color":"#5C7148","fixed":true}],"pitmaster":{"type":["off","manual","auto"],"pm":[{"id":0,"channel":1,"pid":1,"value":100,"set":200.00,"typ":"auto","set_color":"#ff0000","value_color":"#000000"},{"id":1,"channel":2,"pid":1,"value":0,"set":50.00,"typ":"off","set_color":"#FE2EF7","value_color":"#848484"}]}}

Z.B. das: [{"number":1,"name":"Grillraum","typ":0,"temp":22.80,"min

zurück in einen einzlnen "neuen" Datenpunkt in Iobroker bekomme, also nur den Wert 22.8

Rein und raus aus von Iobroker in Node-Red bekome ich schon, nur mit der String-Extrahierung fehlts mir noch....

Google mich da mal Abends durch - nun is schönes Wetter in S-H und es geht raus zum Corona Volkslauf;-)
Wenn du z.B. hinter Payload noch ".channel.number.temp hängst, kannst du dich durchhangeln. Evtl. den Datentyp von String auf JSON umstellen, da bin ich gerade nicht so sicher. Und du musst natürlich noch die Nummer des Kanals mit rein bringen. Da weiß ich gerade nich, ob "1." hinter channel ging. Hab das schonmal hinbekommen.
 

lemuba

Member
Importier dir das mal in NodeRed:

][/CODE]

Super - habs nun fürs Mini hinbekommen.

[
{
"id": "d9574fd4.00894",
"type": "mqtt in",
"z": "eef973f9.672ed",
"name": "Mini_Output",
"topic": "WLanThermo/MINI-2462abc3a574/status/data",
"qos": "2",
"datatype": "auto",
"broker": "4f14c524.9a789c",
"x": 90,
"y": 160,
"wires": [
[
"10f24571.913203"
]
]
},
{
"id": "47df8f34.dd8b18",
"type": "function",
"z": "eef973f9.672ed",
"name": "Temperaturen",
"func": "var msg1 = [];\nfor (var i = 0; i < 8; i++) {\n\tmsg1.push({ payload: msg.payload.channel.temp,\n\tui_control:{\"unit\":\"Hallo\",\"min\":msg.payload.channel.min,\"max\":msg.payload.channel.max} \n\t \n\t});\n}\nreturn msg1;",
"outputs": 8,
"noerr": 0,
"x": 400,
"y": 160,
"wires": [
[
"25dcafa3.f83828",
"d5b98ab5.f50ac"
],
[
"e9f77c41.df3fd8",
"332bfaf9.0a94c6"
],
[
"b2b9b30b.c7bd8",
"f4226fe6.82e4e"
],
[
"ea055160.b6d21",
"df55edf4.339048"
],
[
"c070c7d2.2e725",
"b601ba8c.c76a88"
],
[
"a51ebec3.13e41",
"f6c0c41e.0b4f5"
],
[
"eaa4215e.92f98",
"aad055cc.cf3b48"
],
[
"a7683e26.a41d88",
"a65bb3db.437ab"
]
],
"outputLabels": [
"Kanal 1",
"",
"",
"",
"",
"",
"",
""
]
},
{
"id": "10f24571.913203",
"type": "json",
"z": "eef973f9.672ed",
"name": "",
"property": "payload",
"action": "obj",
"pretty": false,
"x": 247.14287567138672,
"y": 159.9999771118164,
"wires": [
[
"47df8f34.dd8b18"
]
]
},
{
"id": "25dcafa3.f83828",
"type": "ui_gauge",
"z": "eef973f9.672ed",
"name": "",
"group": "62ff3eb2.871b38",
"order": 1,
"width": "4",
"height": "4",
"gtype": "gage",
"title": "Kanal 1",
"label": "units",
"format": "{{value}}",
"min": 0,
"max": 10,
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"x": 627.1428604125977,
"y": 41.42854309082031,
"wires": []
},
{
"id": "e9f77c41.df3fd8",
"type": "ui_gauge",
"z": "eef973f9.672ed",
"name": "",
"group": "62ff3eb2.871b38",
"order": 0,
"width": "4",
"height": "4",
"gtype": "gage",
"title": "Kanal 2",
"label": "units",
"format": "{{value}}",
"min": 0,
"max": 10,
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"x": 627.1428604125977,
"y": 101.42854309082031,
"wires": []
},
{
"id": "b2b9b30b.c7bd8",
"type": "ui_gauge",
"z": "eef973f9.672ed",
"name": "",
"group": "62ff3eb2.871b38",
"order": 0,
"width": "4",
"height": "4",
"gtype": "gage",
"title": "Kanal 3",
"label": "units",
"format": "{{value}}",
"min": 0,
"max": 10,
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"x": 627.1428604125977,
"y": 161.4285430908203,
"wires": []
},
{
"id": "ea055160.b6d21",
"type": "ui_gauge",
"z": "eef973f9.672ed",
"name": "",
"group": "62ff3eb2.871b38",
"order": 0,
"width": "4",
"height": "4",
"gtype": "gage",
"title": "Kanal 4",
"label": "units",
"format": "{{value}}",
"min": 0,
"max": 10,
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"x": 627.1428604125977,
"y": 221.4285430908203,
"wires": []
},
{
"id": "c070c7d2.2e725",
"type": "ui_gauge",
"z": "eef973f9.672ed",
"name": "",
"group": "62ff3eb2.871b38",
"order": 0,
"width": "4",
"height": "4",
"gtype": "gage",
"title": "Kanal 5",
"label": "units",
"format": "{{value}}",
"min": 0,
"max": 10,
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"x": 627.1428604125977,
"y": 281.4285430908203,
"wires": []
},
{
"id": "a51ebec3.13e41",
"type": "ui_gauge",
"z": "eef973f9.672ed",
"name": "",
"group": "62ff3eb2.871b38",
"order": 0,
"width": "4",
"height": "4",
"gtype": "gage",
"title": "Kanal 6",
"label": "units",
"format": "{{value}}",
"min": 0,
"max": 10,
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"x": 627.1428604125977,
"y": 341.4285430908203,
"wires": []
},
{
"id": "eaa4215e.92f98",
"type": "ui_gauge",
"z": "eef973f9.672ed",
"name": "",
"group": "62ff3eb2.871b38",
"order": 0,
"width": "4",
"height": "4",
"gtype": "gage",
"title": "Kanal 7",
"label": "units",
"format": "{{value}}",
"min": 0,
"max": 10,
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"x": 627.1428604125977,
"y": 401.4285430908203,
"wires": []
},
{
"id": "a7683e26.a41d88",
"type": "ui_gauge",
"z": "eef973f9.672ed",
"name": "",
"group": "62ff3eb2.871b38",
"order": 0,
"width": "4",
"height": "4",
"gtype": "gage",
"title": "Kanal 8",
"label": "units",
"format": "{{value}}",
"min": 0,
"max": 10,
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"x": 627.1428604125977,
"y": 461.4285430908203,
"wires": []
},
{
"id": "d5b98ab5.f50ac",
"type": "ioBroker out",
"z": "eef973f9.672ed",
"name": "mini_kanal1",
"topic": "mini_kanal1",
"ack": "true",
"autoCreate": "false",
"x": 777.1428604125977,
"y": 41.42854309082031,
"wires": []
},
{
"id": "332bfaf9.0a94c6",
"type": "ioBroker out",
"z": "eef973f9.672ed",
"name": "mini_kanal2",
"topic": "mini_kanal2",
"ack": "true",
"autoCreate": "false",
"x": 777.1428604125977,
"y": 101.42854309082031,
"wires": []
},
{
"id": "f4226fe6.82e4e",
"type": "ioBroker out",
"z": "eef973f9.672ed",
"name": "mini_kanal3",
"topic": "mini_kanal3",
"ack": "true",
"autoCreate": "false",
"x": 777.1428604125977,
"y": 161.4285430908203,
"wires": []
},
{
"id": "df55edf4.339048",
"type": "ioBroker out",
"z": "eef973f9.672ed",
"name": "mini_kanal4",
"topic": "mini_kanal4",
"ack": "true",
"autoCreate": "false",
"x": 777.1428604125977,
"y": 221.4285430908203,
"wires": []
},
{
"id": "b601ba8c.c76a88",
"type": "ioBroker out",
"z": "eef973f9.672ed",
"name": "mini_kanal5",
"topic": "mini_kanal5",
"ack": "true",
"autoCreate": "false",
"x": 777.1428604125977,
"y": 281.4285430908203,
"wires": []
},
{
"id": "f6c0c41e.0b4f5",
"type": "ioBroker out",
"z": "eef973f9.672ed",
"name": "mini_kanal6",
"topic": "mini_kanal6",
"ack": "false",
"autoCreate": "false",
"x": 777.1428604125977,
"y": 341.4285430908203,
"wires": []
},
{
"id": "aad055cc.cf3b48",
"type": "ioBroker out",
"z": "eef973f9.672ed",
"name": "mini_kanal7",
"topic": "mini_kanal7",
"ack": "true",
"autoCreate": "false",
"x": 777.1428604125977,
"y": 401.4285430908203,
"wires": []
},
{
"id": "a65bb3db.437ab",
"type": "ioBroker out",
"z": "eef973f9.672ed",
"name": "mini_kanal8",
"topic": "mini_kanal8",
"ack": "false",
"autoCreate": "false",
"x": 777.1428604125977,
"y": 461.4285430908203,
"wires": []
},
{
"id": "4f14c524.9a789c",
"type": "mqtt-broker",
"z": "",
"name": "",
"broker": "localhost",
"port": "1882",
"clientid": "",
"usetls": false,
"compatmode": true,
"keepalive": "60",
"cleansession": true,
"birthTopic": "",
"birthQos": "0",
"birthRetain": "false",
"birthPayload": "",
"closeTopic": "",
"closeQos": "0",
"closeRetain": "false",
"closePayload": "",
"willTopic": "",
"willQos": "0",
"willRetain": "false",
"willPayload": ""
},
{
"id": "62ff3eb2.871b38",
"type": "ui_group",
"z": "",
"name": "Temperaturen",
"tab": "84977af6.79cc6",
"disp": true,
"width": "20",
"collapse": false
},
{
"id": "84977af6.79cc6",
"type": "ui_tab",
"z": "",
"name": "Nano",
"icon": "dashboard",
"order": 2,
"disabled": false,
"hidden": false
}
]

mini.JPG

node_red.JPG

Geht das theoretisch auch anders rum - also schreibend, z.B. PID 1 und 2 Settings?

Versuche aber erstmal den aktuellen Baustein zu verstehen und ggf. umzusetzen.

Vielen Dank nochmals!
 
Zuletzt bearbeitet:

Steak-Thermo

Active member
Glückwunsch, sieht gut aus. (y)

Schreiben geht von Node-Res aus natürlich auch. Allerdings weiß ich nicht, ob das Mini schon so weit ist. Ich nehme an, das war die eigentliche Frage.
[automerge]1586078250[/automerge]
Warum hast du den JSON-Node noch dazwischen? Die Daten kommen doch vom mqtt als JSON oder als String, je nach Bedarf.
 
Zuletzt bearbeitet:

s.ochs

BOFH
Teammitglied
Admin
Das Setzen der Daten ist immer gleich. Die Daten kommen über das /data und /settings JSON ja in einzelnen größeren Objekten an, genau diese Objekte werden zum Setzen der Daten wieder zurückgeschickt. Was und wohin steht in der API-Beschreibung vom Nano. So gibt es Objekte für die Kanäle, die Pitmaster, das System etc. Die API vom Nano gilt zu 95% auch beim Mini mit ESP. Es sind lediglich ein paar neue Parameter hinzugekommen, aber ihr seht ja was im JSON ankommt und das kann man auch zurückschicken.
 
Oben Unten