NEWS
Test Intext App v0.0.x
-
@grex1975 welches Modell?
-
@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? -
@grex1975 top, ja das ist das Standardsystem.
Man kommt gar nicht zum Programmieren, wenn man da jeden Tag über 2h drinsitzt und Fernsehen gucktWie ich schon geschrieben habe, hatte ich einigen Trouble mit der Heizung.
Werde morgen einchecken, bim mal gespannt, was ihr sagt.. -
@plchome-0 klingt entspannend
Danke für Version 0.0.5
Wenn ich remote/TempSet ändere, bekomme ich den neuen Wert nach 30-60 Sekunden auf dem Smartphone zu sehen, und nach einem Refresh des Browsers passt sich auch control/TargetTemperature an.
So weit so gut -
-
@plchome-0 Welches Passwort und welche Guideline?
-
@tombox In den Confis steht, dass Passwörter verschlüsselt sein sollen, es gibt auch einen Beispielcode für den iobroker
-
@plchome-0 Wird native von ioBroker verschlüsselt
https://github.com/TA2k/ioBroker.intex/blob/050e7132fd077ccfacba0f3488be9e76f733928e/io-package.json#L93 -
@tombox aha den kannte ich nicht, ich musste damals noch den Code einfügen, damit der Adapter Stabile werden konnte
-
@plchome-0 Adapter ist auch schon im stabilen branch
-
@tombox OK. Was hältst du von prettier im zusammenhang mit lint?
-
@grex1975 @tombox
Hallo zusammen,ich habe jetzt das Umschalten von Celsius und Fahrenheit eingebaut.
Die control sollten jetzt definiert schalten, das funktioniert nach folgendem Schema:- Der ist Zustand, wird mit dem soll Zustand verglichen.
- Ist er ungleich, wird geschaltet.
- Der Zustand wird gemerkt und beim nächsten Update abgeglichen.
- Ist der Zustand nun unterschiedlich, wird noch mal geschaltet.
- Das wird 5-mal versucht, danach kommt die Warnung, dass nicht gesetzt werden kann.
-
@plchome-0
Halloumschalten C/F von iobroker aus funktioniert einwandfrei bei mir.
jetzt brauche ich noch das Schalten der Heizfunktion dann könnte ich die Heizung in Abhängigkeit der PV Anlage programmieren -
Wie läuft eigentlich die gesamte Kommunikation ab?
Pumpenbox <-> Fernbedienung: Bluetooth?
Fernbedienung <-> Intex Cloud: WLAN. Wird da jede Zustandsänderung (z.B. Einschalten Filter) an die Cloud geschickt? Wer verwaltet den Scheduler, wenn sich z.B. der Sanitizer nach 3h ausschalten soll - die Cloud, die Fernbedienung oder die Pumpenbox?
Smartphone App: WLAN zur Fernbedienung oder geht alles nur über die Cloud? Im 2. Fall also etwa so: das Smartphone meldet sich in der Cloud an, sendet den Befehl aufgrund meines Fingerdrucks, die Cloud sendet das an die Fernbedienung bzw. alle angemeldeten Geräte? und die Fernbedienung gibt es an die Pumpenbox weiter.
Die App am Smartphone aktualisiert die Werte nur alle heiligen Zeiten oder wenn ich mich neu anmelde. Gibt es kein "Push", muss der aktuelle Status regelmässig abgefragt werden?
Bitte um Richtigstellung meiner zusammengereimten Vorstellung
LG,
Gregor -
@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: