NEWS
Steuerung Gecko in Touch 2 per iob möglich? (Wellis)
-
Funktioniert Ping:
PING 192.168.188.68 (192.168.188.68) 56(84) bytes of data. 64 bytes from 192.168.188.68: icmp_seq=2 ttl=63 time=1.36 ms 64 bytes from 192.168.188.68: icmp_seq=3 ttl=63 time=1.20 ms 64 bytes from 192.168.188.68: icmp_seq=4 ttl=63 time=1.40 ms 64 bytes from 192.168.188.68: icmp_seq=5 ttl=63 time=1.35 ms 64 bytes from 192.168.188.68: icmp_seq=6 ttl=63 time=1.34 ms
2te python3 from geckolip... geht auch findet er:
Starting discovery process...Found 1 spas Connecting to spa `Kirschpool ??` at 192.168.188.68 ... connected! Heater: Temperature 36.0°C, SetPoint 36.0°C, Real SetPoint 24.9°C, Operation Cool ing Pump 1: OFF Pump 2: OFF Waterfall: OFF Lights: OFF WaterCare: Waiting... Smart Winter Mode:Risk: NO Circulating Pump: OFF Ozone: OFF Smart Winter Mode:Active: False Filter Status:Clean: False Filter Status:Purge: False Economy Mode: True Error Sensor: VSP1CommLost, VSP2CommLost Welcome to the Gecko shell. Type help or ? to list commands.
Das letzte klappt nicht:
root@buanet-iobroker-1:/opt/iobroker# python3 /SpaController/spa_config.py b7031c 49-70a1-4f9b-917b-24df54c20973 http://172.17.0.4:8087 javascript.0.Datenpunkte.Sw imSpa /SpaController/spa_config.py Version: 0.2.4 total arguments passed: 4 Connect using client id: b7031c49-70a1-4f9b-917b-24df54c20973 ioBroker Simple Rest API URL: http://172.17.0.4:8087 Base path to datapoints: javascript.0.Datenpunkte.SwimSpa *** looking for spas on your network ... *** there were no spas found on your network.
-
@stefan-berlin1
Hat es was mit der Simple Api vielleicht zu tun und den Ports? -
@stefan-berlin1 Hallo Stefan,
leider nein. Das Skript spa_config.py ist recht simpel gestrickt:- Parameteranzahl prüfen und Parameter in Variablen merken
- Verbindung zum SpaController herstellen (Zeile 34 die du angepasst hast)
- Diverse Werte vom SpaController abrufen und merken
- Werte aufbereiten und per HTTP-Request dem Simple API übergeben.
Wenn bei Punkt 2 keine Verbindung aufgebaut werden kann endet das Skript an der Stelle (es hat ja sowieso nix was es dem Simple API übergeben könnte).
Blöd ist, das es in meinem Testcontainer läuft und die beiden Tests die du ausgeführt hast sind klare Indikatoren dafür das es keine grundsätzlichen Probleme bei dir gibt.
Ich habe leider heute und morgen keine Zeit mehr, am Wochenende bin ich unterwegs in den Urlaub. Ich baue, wenn ich Zeit habe nächst Woche das spa_config.py ordentlich um, so dass du da nicht mehr drin rumändern musst und melde mich noch mal.
-
@rrov1
Mach ganz ruhig, kommt ja nicht auf'n paar Tage an.
Genieß den Urlaub. Ich teste mal nochmal paar Variation -
@stefan-berlin1 Hallo Stefan,
ich habe jetzt die Skripte angepasst, so dass auch von meinem Docker Test Container aus SpaController erkannt werden. Es gibt jetzt einen Datenpunkt in dem du die IP-Adresse vom SpaController hinterlegen musst, damit dieser gefunden wird. Bitte wie folgt vorgehen:- im ioBroker anmelden, ins Verzeichnis SwimSpa wechseln und "git pull" aufrufen. Der git-Client sollte einige Skripte aktualisieren
- Python Skripte aktualisieren: "cp ./Python/*.py /SpaController/"
- Skript: SpaVariablen.js öffnen, Inhalt löschen und mit Inhalt von SpaVariablen.js ersetzen und 1x laufen lassen (Achtung: Aufruf in Zeile 4 ggf. anpassen), Am Ende sollte ein neuer Datenpunkt: javascript.0.Datenpunkte.SwimSpa.discoverIP vorhanden sein.
- Jetzt die IP-Adresse des SpaController im neuen Datenpunkt: javascript.0.Datenpunkte.SwimSpa.discoverIP manuell eintragen.
- Skript: SpaUpdateConfig.js öffnen, Inhalt löschen und mit dem aus git: SpaUpdateConfig.js ersetzen, speichern und ausführen.
Das ist jetzt die spannende Stelle, wenn bei dir alles klappt, sollte der SpaController nun gefunden werden auf Basis seiner IP-Adresse. Es sollten Datenpunkte wie:
- ID
- IPAdresse
- Name
- U_ID
- ....
unterhalb von javascript.0.Datenpunkte.SwimSpa.0 gesetzt sein.
Schreibe mal ob das erfolgreich war.
-
Hallo hoffe Du hattest ein angenehmen Urlaub. Ich hab dies mal getestet und auch nochmal komplett neu gemacht.
Im Datenpunkt taucht es auf. Wenn ich die Spa Update Config Starte kommt noch ein Fehler:
javascript.0 01:58:42.668 info Stopping script script.js.common.Spa.SpaUpdateConfig javascript.0 01:59:07.571 info Stopping script script.js.common.Spa.SpaUpdateConfig javascript.0 01:59:13.261 info Start JavaScript script.js.common.Spa.SpaUpdateConfig (Javascript/js) javascript.0 01:59:13.302 info script.js.common.Spa.SpaUpdateConfig: start javascript.0 01:59:13.302 info script.js.common.Spa.SpaUpdateConfig: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions javascript.0 01:59:13.303 info script.js.common.Spa.SpaUpdateConfig: *** IP(s) to disover: 192.168.188.68 javascript.0 01:59:13.303 info script.js.common.Spa.SpaUpdateConfig: resetting scriptRunning, because it's false since more than 5 minutes javascript.0 01:59:13.303 info script.js.common.Spa.SpaUpdateConfig: *** discovering IP: 0 => 192.168.188.68 javascript.0 01:59:13.304 info script.js.common.Spa.SpaUpdateConfig: *** executing: python /SpaController/spa_config.py 4d9a30ec-aea3-4a77-af1a-01d1ea71c336 http://172.17.0.6:8087 javascript.0.Datenpunkte.SwimSpa 0 192.168.188.68 javascript.0 01:59:13.313 info script.js.common.Spa.SpaUpdateConfig: *** stderr: Error: Command failed: python /SpaController/spa_config.py 4d9a30ec-aea3-4a77-af1a-01d1ea71c336 http://172.17.0.6:8087 javascript.0.Datenpunkte.SwimSpa 0 192.168.188.68 /bin/sh: 1: python: not found javascript.0 01:59:13.313 info script.js.common.Spa.SpaUpdateConfig: end
Ich hab nochmal die befehle ausgeführt und er findet den Spa:
python3 from geckolib import GeckoShell GeckoShell.run(["logfile client.log", "discover 192.168.188.68"])
Gruß Stefan
-
@stefan-berlin1 Hallo Stefan,
ja, der Urlaub war schon gut, nur das Wetter war dieses Jahr an der Costa Brava nicht so gut, ich musste die Tagesaktivitäten etwas aktiver gestalten .Die Shell sagt: /bin/sh: 1: python: not found
Der Python Interpreter sollte auf den Namen "python3" hören (vgl. dein manueller Test). Bitte prüfe in SpaGlobal.js noch mal die Zeile 4, Variable: SPA_EXECUTEABLE, dort sollte "python3" drinnen stehen. -
das ist ärgerlich das das Wetter so schlecht war. Dafür fährt man ja weg um dem Wetter hier zu entgehen.
Es hat geklappt es sind Daten zu sehen huchu . Dann werde ich mal sehen wie ich die in meine Loxone wertvoll weiter verarbeiten kann.
Bekomme in kürze dann auch noch eine Wellis Wärmepumpe mal schauen wie die funktioniert und wie man diese nun wieder einbindet.
-
@stefan-berlin1 Hallo Stefan,
schön zu hören, das es jetzt doch klappt .Ich habe hier auch eine Loxone Anlage. Ich habe die Integration über den Simple Rest API Adapter gelöst, sprich virtuelle Eingänge für z.B. die Temperaturen gleich über ein "getBulk" und virtuelle Ausgänge mit "set" auf Datenpunkte. Funktioniert einwandfrei.
Viel Erfolg noch.
-
@rrov1 danke, ja ich hole mir schon diverse Sachen rein in die loxone. Aber meist nur Status. Steuern muss ich mal schauen wie ich das mache.
Mal schauen wie sich die Wärmepumpe noch ansprechen lässt wenn Sie da ist -
Hab noch ein Problem.
Sagen wir mal 30 Grad ist aktuell. Ich Stelle die Temperatur auf 38 Grad (per App und auch vor Ort). Schau Zeit x später rein steht ne andere eingestellte Temperatur als hätte jemand wieder runter geregelt.Zur Info ich hab ein Wellis Life Atlas 2024 Modell.
Hat 2 Sprudler Pumpen und ein Zirkalations (Filter) Pumpe und ein Wasserfall der mit Pumpe 1 angeht automatisch (bzw.kann man den manuell über Drehknopf Mischer ausmachen)
1 Spa Controller
2 PumpenDatenpunkte:
P1 wäre Sprudel rechte Seite (Liegefläche) inklusive Wasserfall (Wasserfall kann man nur manuell mit Drehrad (Mischer) abstellen)
P2 ist Sprudler linke Seite (Sitze)Beim Datenpunkt Waterfall reagiert er wenn Circulations Pumpe an geht. Da wird es angezeigt und auch unter Punkt Sensoren Circulations Pump
Kann ich den Datenpunkt (Waterfall) im SpaVariables einfach umbennen in CirculationPump?
oder gibts noch in anderen Phyton Scripts den Name Waterfall...?Kannst Du mir noch ein Tipp geben wie ich die Pumpen an und ausschalten kann muss ich den Modi oder Switch ansteuern per Loxone Virtuellen Ausgang?
LG
-
@stefan-berlin1 Hallo Stefan,
Sagen wir mal 30 Grad ist aktuell. Ich Stelle die Temperatur auf 38 Grad (per App und auch vor Ort). Schau Zeit x später rein steht ne andere eingestellte Temperatur als hätte jemand wieder runter geregelt.
- Hast du das Script: SpaMoveTargetTemp.js aktiv? Das wäre dafür verantwortlich die Temperatur nachzuregeln. Bitte den Datenpunkt: javascript.0.Datenpunkte.SwimSpa.automaticTargetTemp mal auf "false" setzen, damit wird diese automatische Temperaturnachführung deaktiviert.
- Du kannst im Protokoll vom ioBroker mal nach "spa_setTargetTemp.py" suchen, dann findest du die Aufrufe zum setzen der Zieltemperatur.
Kann ich den Datenpunkt (Waterfall) im SpaVariables einfach umbennen in CirculationPump?
oder gibts noch in anderen Phyton Scripts den Name Waterfall...?Der "Waterfall" ist noch eher eine Baustelle, da ich sowas nicht habe und bisher nichts testen konnte. Es gibt aktuell auch keine Skripte die auf die Änderung des Datenpunktes reagieren bzw. auch kein Python Skript das die Reaktion an den SpaController weitergibt. Er ist erst mal nur da, weil die geckolib ihn kennt. Den Datenpunkt: javascript.0.Datenpunkte.SwimSpa.0.Pumpen.Waterfall umzubenennen, wäre mir nicht so lieb, weil der Pfad bei einem Update wieder angelegt werden würde und dann evtl. zu Verwirrung führt. Was wäre das Ziel hinter der Umbenennung, die Pfade tauchen in den GUI's ja nicht auf. Zur Not vielleicht lieber einen Alias anlegen?
Kannst Du mir noch ein Tipp geben wie ich die Pumpen an und ausschalten kann muss ich den Modi oder Switch ansteuern per Loxone Virtuellen Ausgang?
Um die Pumpen einzuschalten nimmst du den Datenpunkte mit dem Namen "Switch", die anderen beiden Datenpunkte sind für dich Read Only (zu erkennen am Schloss im Icon vor dem Namen des Datenpunkts). Wichtig noch zu wissen, die geckolib kennt pro Pumpe 3 Status:
- OFF = AUS (logisch)
- LO oder LOW = kleine Stufe (funktioniert nur, wenn es deine Pumpe unterstützt, meine z.B. nicht)
- HI oder HIGH = große Stufe
-
@rrov1
Danke,
so Waterfall / Zirkulations Pumpe sind das gleiche in meinem Fall.
ok SpaMoveTargetTemp.js den Datenpunkt hab ich auf false gesetzt.Ich hab mal beobachtet bei OZON Status wird auch immer off angezeigt. Setzt er den nicht ein zur Reinigung wenn Zirkulationspumpe an ist und Filterdurchlauf läuft?
Dann noch eine Sache zu Wasserpflege Modi,
dort steht auch immer " Away from home" . Bei Wasserpflege Switch hab ich nun mal auf Standart (1) gesetzt manuell. Der ist immer aktiv (APP). Sollte sich dann aber nicht auch Der Modi Name ändern? -
@stefan-berlin1 Hallo Stefan,
OZON Status immer OFF: Das habe ich auch schon beobachtet. Das war bei mir noch nie ON. Ich vermute die zugrundeliegende geckolib liefert den Wert nicht. Der Entwickler hat aber leider nur ganz wenig Zeit.
WasserpflegeModi: Der Status ändert sich nicht, das ist eine Liste der verfügbaren Wasserpflegestatusnamen, bei mir: ['Away From Home', 'Standard', 'Energy Saving', 'Super Energy Saving', 'Weekender']. Das ist vorgesehen, falls das jemand zur Visualisierung braucht.
-
Kannst Du mir irgendwie ein Rat geben für die Loxone Bausteine
Wenn PV Überschuss dann stell die temperatur auf z.b 38 Grad
Wenn kein Überschuss ist stell die Temeratur auf 25 Grad. -
@stefan-berlin1
Hallo Stefan,das habe ich tatsächlich nicht mit Loxone geregelt sondern mit einem Script oder besser mit 2 Scripten.
Script 1: SpaMoveTargetTemp.js (im Repo enthalten), das führt die Zieltemperatur immer 5 Grad höher als die aktuelle Temperatur nach und zwar zwischen der Minimaltemperatur von 12 Grad (Konstante im Script) und einer gewünschten Maximaltemperatur wie z.B. 38 Grad). Das Script läuft einfach aller 20 Minuten. Wenn du das einsetzt, dann schau in die schedule-Funktion, Zeilen 5 & 6, das ist für meine 2 Spa's du brauchst nur Zeile 5, Zieltemperatur natürlich anpassen nach Wunsch.
Script 2: Ist nicht im Repo enthalten. Das Script ist spezifisch für meine Solaranlage und Schaltet den Wasserpflegemodus ein, wenn meine Batterie in den letzten 10 Minuten über 70% gefüllt ist und genug Überschuss da ist. Natürlich schaltet das dann den Wasserpflegemodus auch wieder aus.Vieleicht reicht dir aber schon das Script mit der Zieltemperatur.
rrov1