NEWS
Test Intext App v0.0.x
-
@grex1975
Die App kommuniziert mir der Cloud.
Die Cloud kommuniziert mit dem WLAN-Empfänger im Pool.
Ich meine, der sitzt im Bedienteil.
Der WLAN-Empfänger im Pool wiederum mit dem Bedienteil oder der Steuerplatine.
Bedienteil und Steuerplatine kommunizieren über einen Serielumsetzer im 2.4 GHz Band untereinander.Aufgrund der Laufzeiten gehe ich davon aus:
Die App sendet eine Anfrage an die Cloud,
Die Cloud fragt den WLAN-Empfänger im Pool ab.
Ob der nun die Daten vorhält oder bei der Steuerung abfragt, weiß ich nicht.
Der WLAN-Empfänger im Pool sendet die Zustände an die Cloud.
Die Cloud wiederum an die App.Das Protokoll des Seriellumsetzers ist auch geknackt, hier gibt es einen MQTT Umsetzer für ältere Pools ohne WLAN, funktioniert aber auch mit den NEUEN Pools, da an der Kommunikation zwischen Bedienteil und Pool nichts geändert wurde:
https://github.com/Yogui79/IntexPureSpaDas läuft übrigens flüssiger als die APP von Intex
-
@tombox
Mir ist gestern ein Problem mit dem Control aufgefallen. Es kommt durch die Laufzeit:Wenn ich schalte und kurz vorher der Status abgefragt wurde, wird von der Cloud noch der alte Status zurückgegeben.
Dann fängt er an zu toggeln. Ich hab aber schon eine quick Lösung: Sid muss kleiner sein as die Zeit, zu der geschaltet wurde.Es soll den Jet ausschalten und sieht ihn immer nur als "Ein", da die Cloud immer abwechselnd den alten und den Neunen Status zurückgibt.
2022-06-02 23:20:16.507 - debug: intex.0 (11783) {"deviceId":"e8fa6219-64f7-4aa2-bac4-************","sessionId":"1654204815878","iotDataType":"C2DCommand","c2DCommandStatus":"Sended"} 2022-06-02 23:20:19.037 - debug: intex.0 (11783) {"deviceId":"e8fa6219-64f7-4aa2-bac4-************","sessionId":"1654204818461","iotDataType":"C2DCommand","c2DCommandStatus":"Sended"} 2022-06-02 23:20:37.067 - debug: intex.0 (11783) {"sid":"1654204815878","type":2,"result":"ok","data":"FFFF110F010B001E0000000080808023000011"} 2022-06-02 23:20:37.126 - debug: intex.0 (11783) send:8888060F011000C8 2022-06-02 23:20:37.726 - debug: intex.0 (11783) {"deviceId":"e8fa6219-64f7-4aa2-bac4-************","sessionId":"1654204837128","iotDataType":"C2DCommand","c2DCommandStatus":"Sended"} 2022-06-02 23:20:39.465 - debug: intex.0 (11783) {"sid":"1654204818461","type":2,"result":"ok","data":"FFFF110F010B001E0000000080808023000011"} 2022-06-02 23:20:39.506 - debug: intex.0 (11783) send:8888060F011000C8 2022-06-02 23:20:40.077 - debug: intex.0 (11783) {"deviceId":"e8fa6219-64f7-4aa2-bac4-************","sessionId":"1654204839506","iotDataType":"C2DCommand","c2DCommandStatus":"Sended"} 2022-06-02 23:20:50.716 - debug: intex.0 (11783) {"deviceId":"e8fa6219-64f7-4aa2-bac4-************","sessionId":"1654204850078","iotDataType":"C2DCommand","c2DCommandStatus":"Sended"} 2022-06-02 23:21:11.238 - debug: intex.0 (11783) {"sid":"1654204850078","type":2,"result":"ok","data":"FFFF110F010B001E0000000080808023000011"} 2022-06-02 23:21:11.297 - debug: intex.0 (11783) send:8888060F011000C8 2022-06-02 23:21:11.893 - debug: intex.0 (11783) {"deviceId":"e8fa6219-64f7-4aa2-bac4-************","sessionId":"1654204871298","iotDataType":"C2DCommand","c2DCommandStatus":"Sended"} 2022-06-02 23:21:13.043 - debug: intex.0 (11783) send:8888060F011000C8 2022-06-02 23:21:13.608 - debug: intex.0 (11783) {"deviceId":"e8fa6219-64f7-4aa2-bac4-************","sessionId":"1654204873045","iotDataType":"C2DCommand","c2DCommandStatus":"Sended"} 2022-06-02 23:21:19.129 - debug: intex.0 (11783) {"deviceId":"e8fa6219-64f7-4aa2-bac4-************","sessionId":"1654204878461","iotDataType":"C2DCommand","c2DCommandStatus":"Sended"} 2022-06-02 23:21:24.276 - debug: intex.0 (11783) {"deviceId":"e8fa6219-64f7-4aa2-bac4-************","sessionId":"1654204883609","iotDataType":"C2DCommand","c2DCommandStatus":"Sended"} 2022-06-02 23:21:39.618 - debug: intex.0 (11783) {"sid":"1654204878461","type":2,"result":"ok","data":"FFFF110F010B001E0000000080808023000011"} 2022-06-02 23:21:39.695 - debug: intex.0 (11783) send:8888060F011000C8 2022-06-02 23:21:40.277 - debug: intex.0 (11783) {"deviceId":"e8fa6219-64f7-4aa2-bac4-************","sessionId":"1654204899696","iotDataType":"C2DCommand","c2DCommandStatus":"Sended"} 2022-06-02 23:21:44.711 - debug: intex.0 (11783) {"sid":"1654204883609","type":2,"result":"ok","data":"FFFF110F010B001E0000000080808023000011"} 2022-06-02 23:21:44.797 - warn : intex.0 (11783) Cannot set control e8fa6219-64f7-4aa2-bac4-************.control.Jet to false 2022-06-02 23:21:51.284 - debug: intex.0 (11783) {"deviceId":"e8fa6219-64f7-4aa2-bac4-************","sessionId":"1654204910279","iotDataType":"C2DCommand","c2DCommandStatus":"Sended"}
Ich würde die Zustandsabfrage gerne umbauen, aktuell gibt es einen Time-out und einen zyklischen Timer. Ich hätte gerne einen Timeout der nach der Eingestellten zeit läuft, auf Time-out prüft und dann nach Intervall - Time-out neu startet.
Nach dem Schalten sollte die Zeit zur nächsten anfrage verkürzt werden und dann wieder in den Zyklus gewechselt werden. -
Also bei mir gehts, ack muss fals sein:
let autoheat = false const pvSOC='growatt.0.359213.devices.NNCJA2400C.statusData.SOC'/*Soc*/; const poolPower = "intex.0.e8fa6219-64f7-4aa2-bac4-xxxxx.control.Power" const poolHeat = "intex.0.e8fa6219-64f7-4aa2-bac4-xxxxx.control.Heat" const poolSanitzer = "intex.0.e8fa6219-64f7-4aa2-bac4-xxxxx.control.Sanitizer" start() async function start() { let state = await getStateAsync(pvSOC); doHeat(state); } on({id: pvSOC, change: "ne"},(obj)=>{doHeat(obj.state)}); async function doHeat(state) { if (state.val >= 85 && !autoheat) { setState(poolPower,true,false); setState(poolSanitzer,false,false); setTimeout(async ()=>{ setState(poolHeat,true,false); autoheat = true; },1000) log ('on') sendTo("email.0", { //from: "iobroker@mydomain.com", //to: "aabbcc@gmail.com, xxyyzz@gmail.com", // comma separated multiple recipients. subject: "Es ist viel Sonne am Himmel", text: "Der Pool wird geheitzt..." }); } else if (state.val < 80 && autoheat) { autoheat = false; setState(poolHeat,false); sendTo("email.0", { //from: "iobroker@mydomain.com", //to: "aabbcc@gmail.com, xxyyzz@gmail.com", // comma separated multiple recipients. subject: "Die Sonne geht weg", text: "Die Poolheizung wird abgestellt..." }); } };
-
Überwachung
-
@plchome-0 said in Test Intext App v0.0.x:
@grex1975
https://github.com/Yogui79/IntexPureSpaDas läuft übrigens flüssiger als die APP von Intex
Danke für die Info.
Die App finde ich auch sehr behäbig. Muss mich außerdem für jede Aktion einloggen, was zusätzlich lange dauert.
Meine Intex-Fernbedienung ist ziemlich wasserempfindlich - ein paar Tropfen und sie spinnt für die nächsten 24h.
Will den Whirlpool aber nicht schlecht machen, die ganze Familie hat Spass damit Möchte nur die Bedienung anpassen.
Ich werde das mit dem ESP32 ausprobieren. Wenn es funktioniert, kann ich z.B. für die Kinder 2 Knöpfe machen - Jet für 10 Min ein und Blubberblasen für 10 Min einWie oft fragt der iobroker Adapter den Status über die cloud ab?
LG,
Gregor -
@plchome-0 coole Grafik
meine ist etwas klobiger: -
@grex1975 said in Test Intext App v0.0.x:
Wie oft fragt der iobroker Adapter den Status über die cloud ab?
Das liegt an deiner (inneren) Einstellung ich hab 1 eingestellt
Meine Intex-Fernbedienung ist ziemlich wasserempfindlich - ein paar Tropfen und sie spinnt für die nächsten 24h.
Mit der Fernbedienung hatte ich noch keine Wasserprobleme, die ist bei uns immer in der Halterung, wenn wir drinsitzen, allerdings nehme ich die morgens aus der Ladeschale, wenn es warm wird. Da steht die Sonne drauf und der alte Pool ist schon mal ausgestiegen, weil dem Bedienteil zu warm war. Nachts ist die in der Ladeschale auch bei Regen. Weder an meinem Alten noch an dem neuen Pool hatte wir Feuchtigkeitsprobleme.
Wir hatten 2 Jahre einen kleinen 750l ohne WLAN und ich hab jetzt den gleichen mit 1m³ und WLAN bestellt.
Das Projekt mit dem ESP hatte ich zu spät gefunden. Komisch ist, dass man dort dreimal den ESP bespielen muss.
Die Teile hab ich da, wenn ich Zeit habe, werde ich das mal ausprobieren.Wenn es funktioniert, kann ich z.B. für die Kinder 2 Knöpfe machen - Jet für 10 Min ein und Blubberblasen für 10 Min ein
Zigbee-Taster -> iobroker? oder tasmota.Taster -> MQTT -> iobroker -> Script?
Ich hab den jetzt Pool über MQTT in der Homebridge darüber dann in Alexa und Handy.Mit Conbee/dconz ist aber auch ein Zigbee Taster von Xiaomi Aqara möglich, so was hab ich für die Zirkulation. In der Küche und im Bad Zigbee Taster drücken, Alexa sagt, es wurde gestartet und in 2min ist das Wasser warm. Bei 2x Drücken wird auch zur "Unzeit" der Speicher aufgeheizt.
-
@grex1975 said in Test Intext App v0.0.x:
jetzt brauche ich noch das Schalten der Heizfunktion dann könnte ich die Heizung in Abhängigkeit der PV Anlage programmieren
Ich hab gerade das korrigierte main.js eingeschickt, wenn du Github abrufst kannst loslegen
Bin am WE erst wieder aus Mexico zurück und hatte auch gestern erst den Fehler bemerktconst poolPower = "intex.0.e8fa6219-64f7-4aa2-bac4-xxxxx.control.Power" const poolHeat = "intex.0.e8fa6219-64f7-4aa2-bac4-xxxxx.control.Heat" const poolSanitzer = "intex.0.e8fa6219-64f7-4aa2-bac4-xxxxx.control.Sanitizer" setState(poolPower,true,false); setState(poolSanitzer,false,false); setState(poolHeat,true,false);
-
Hi,
nachdem ich bei der 0.6 Version nicht mehr schalten konnte und folgendes im Log sehen konnte:
intex.0 2022-06-05 14:20:27.106 info (3669) starting. Version 0.0.6 in /opt/iobroker/node_modules/iobroker.intex, node: v14.17.0, js-controller: 4.0.21 intex.0 2022-06-05 14:19:51.174 warn (1852) Terminated (UNCAUGHT_EXCEPTION): Without reason intex.0 2022-06-05 14:19:51.171 info (1852) terminating intex.0 2022-06-05 14:19:51.143 error (1852) Cannot read property 'toString' of undefined intex.0 2022-06-05 14:19:51.142 error at Intex.onStateChange (/opt/iobroker/node_modules/iobroker.intex/main.js:581:37) intex.0 2022-06-05 14:19:51.142 error (1852) TypeError: Cannot read property 'toString' of undefined intex.0 2022-06-05 14:19:51.137 error (1852) unhandled promise rejection: Cannot read property 'toString' of undefined intex.0 2022-06-05 14:19:51.136 error (1852) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). intex.0 2022-06-05 14:15:05.598 error (1852) {"code":404,"msg":"The device is not found in IOT Hub."} intex.0 2022-06-05 14:15:05.597 error (1852) AxiosError: Request failed with status code 404
habe ich vergeblich versucht auf die 0.7 zu updaten. Habe seit 5 min den Spinner bei der Installation per Githublink:
iobroker url https://github.com/TA2k/ioBroker.intex --host raspberrypi-iob install TA2k/ioBroker.intex#600bfb66f1f4d1... NPM version: 6.14.13 Installing TA2k/ioBroker.intex#600bf...ef... (System call) ERROR: Process exited with code 25
Per App kann ich schalten. Was kann ich machen?
Adapter selbst ist grün.Grüße und schöne Pfingsten
Thomas -
@grex1975 said in Test Intext App v0.0.x:
@plchome-0 Whirlpool Pure-Spa Bubble & Jet - Groß, ist ein Salzwassersystem, werde es aber auch mal mit Wasserstoffperoxid probieren.
Value5=Active Action, Value7=Current Temperature, Value15=Goal Temperature
Hat schon jemand den Sinn der anderen Values herausgefunden?Value 7 = Isttemperatur
Value 15 = Wunschtemperatur -
@tklein Benutze control zum Schalten, das sollte gehen, solange der Status synchronisiert ist.
Die Temperaturen setehn auch korrekt unter Control.
Ich kann natürlich nur für meinen Pool sprechen. (Salzwasser mit Jet und Bubbeln) -
@plchome-0 thx, habe auch den mit Salz etc.
Mit Control konnte ich den jetzt auch schalten. Gibt es auch irgendwo Updates, wenn ich per App oder Display schalte?
-
@tklein ich arbeite daran, ich möchte da was umbauen. Der Adapter fragt mehrfach gleichzeitig an, das ist schlecht.
Könntest du den Fehler noch mal im Debug nachstellen.
Würde mich schon interessieren, was da Querschlägt.Das Hauptproblem auch in der App ist, dass der Pool nur toggeln kann. Man kann nicht definiert ein oder ausschalten. Und die Abfrage des Zustandes benötigt zwischen 10 sec und 30 sec meisten 20 sec. Zeitweise aber noch länger. Ich weiß nicht, ob es die Cloud oder der Empfang des Pools ist, denn kann man so auch nicht abfragen.,Mein Router sagt aber alles gut.
-
@plchome-0 update habe ich jetzt auch von "extern" reinbekommen. Machst du den Adapter jetzt weiter?
Ich hatte anfangs tombox gebeten/Hinweis gegeben. Da hatte er den innerhalb von Stunden fertig gehabt. Bin vom Glauben abgefallen -
@plchome-0 said in Test Intext App v0.0.x:
Könntest du den Fehler noch mal im Debug nachstellen.
Würde mich schon interessieren, was da Querschlägt.wo/wie kan ich dir helfen? Geht es um das Updateproblem? Sorry aber wie/wo stelle ich den Debug an?
Sehe gerade, dass ich das noch im Log habe, obwohl alles zu funktionieren scheint:
intex.0 2022-06-05 15:33:25.594 error {"code":404,"msg":"The device is not found in IOT Hub."} intex.0 2022-06-05 15:33:25.594 error AxiosError: Request failed with status code 404 intex.0 2022-06-05 15:30:25.623 error {"code":404,"msg":"The device is not found in IOT Hub."} intex.0 2022-06-05 15:30:25.623 error AxiosError: Request failed with status code 404 intex.0 2022-06-05 15:27:25.632 error {"code":404,"msg":"The device is not found in IOT Hub."} intex.0 2022-06-05 15:27:25.631 error AxiosError: Request failed with status code 404
-
@tklein
Ja ist komisch, las mal mit Debug draufgucken. -
@plchome-0 hier das Log als Bild
mit copy&paste gibt es solche unschönen new lines
Hatte mal die Blubberdüsen an/aus geschaltet
-
@tklein
Die Meldung hab ich auch, scheint aus der Cloud zu kommen. Ich gucke es mir mal an. Wenn die Meldung auftritt, zeigt die APP invalid Operation, wenn man einen Refresh macht. Eventuell eine Überlastung. Das tritt nur zu bestimmten Zeiten auf. -
@plchome-0 ah, ja, funktioniert eh
wenn ((Stromerzeugung-Verbrauch) > 2000W) und (Akku > 50%) und (Zieltemperatur > aktuelle Temp) dann schalte ich Filter und Heizung ein, denn für den Verkauf von Strom bekomme ich eh nicht vielWas passiert, wenn ich nur die Heizung einschalte? Wird dann etwas kaputt in der Pumpenbox? Oder kümmert sich der Adapter oder der Pool darum, dass auch die Pumpe eingeschaltet wird, um das heiße Wasser weiter zu befördern?
-
Zigbee-Taster -> iobroker? oder tasmota.Taster -> MQTT -> iobroker -> Script?
Ich hab den jetzt Pool über MQTT in der Homebridge darüber dann in Alexa und Handy.Mit Conbee/dconz ist aber auch ein Zigbee Taster von Xiaomi Aqara möglich, so was hab ich für die Zirkulation. In der Küche und im Bad Zigbee Taster drücken, Alexa sagt, es wurde gestartet und in 2min ist das Wasser warm. Bei 2x Drücken wird auch zur "Unzeit" der Speicher aufgeheizt.
Ich habe den "Shelly Button1", der hängt mit WLAN im IoT Netz, ein iobroker Adapter empfängt die Events (kurzer, 2x kurzer oder langer Tastendruck), ein Script reagiert bei Änderung der Variable und steuert entsprechend, bei mir Licht und Wasserpumpe im Außenbereich.
Den könnte ich für den Pool verwenden.