Smarthome 2.0 Erweiterungen (HTTP Devices, neue Farben, monthly Charts)
-
- Beiträge: 2426
- Registriert: Fr Mär 08, 2019 1:57 pm
- Has thanked: 2 times
- Been thanked: 30 times
Smarthome 2.0 Erweiterungen (HTTP Devices, neue Farben, monthly Charts)
Hallo Zusammen,
folgende Neuerungen hat es in der neusten Nighlty drin:
HTTP devices werden zum Schalten und nur zur Leistungsmessung unterstützt:
Es hat maximal 4 Urls. Zur Leistungsmessung wird als Rückgabe die aktuelle Leistungsaufnahme in Watt erwartet (ganzzahlig).
Es kann bei dem Aufruf der URL für die Leistungsmessung der aktuelle Überschuss (0 oder positiv) als Parameter mitgegeben werden.
Neue Farben für Smarthomedevices (1 bis 9): Smarthomedevices wurden in den monthly Chart integriert
Die neuen Farben sollten im Thema Standard und in der Logging Daily und Monthly verwendet werden, anderfalls bitte browsercache löschen.
Gruss Oliver
folgende Neuerungen hat es in der neusten Nighlty drin:
HTTP devices werden zum Schalten und nur zur Leistungsmessung unterstützt:
Es hat maximal 4 Urls. Zur Leistungsmessung wird als Rückgabe die aktuelle Leistungsaufnahme in Watt erwartet (ganzzahlig).
Es kann bei dem Aufruf der URL für die Leistungsmessung der aktuelle Überschuss (0 oder positiv) als Parameter mitgegeben werden.
Neue Farben für Smarthomedevices (1 bis 9): Smarthomedevices wurden in den monthly Chart integriert
Die neuen Farben sollten im Thema Standard und in der Logging Daily und Monthly verwendet werden, anderfalls bitte browsercache löschen.
Gruss Oliver
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update ): viewtopic.php?f=14&t=5923
Smarthomeprobleme siehe hier (update ): viewtopic.php?f=14&t=5923
Re: Smarthome 2.0 Erweiterungen (HTTP Devices, neue Farben, monthly Charts)
Genial Oliver !
Geht auch HTTP Signal zum Ein und Ausschalten und Messung über Shelly ?
Letztens wollte das nicht über nehmen da die Zeile dann Rot war und das Speicher nicht ging .
Oder muss ich dann irgenwas in die Zeile der Leistungsmessung schreiben?
Geht auch HTTP Signal zum Ein und Ausschalten und Messung über Shelly ?
Letztens wollte das nicht über nehmen da die Zeile dann Rot war und das Speicher nicht ging .
Oder muss ich dann irgenwas in die Zeile der Leistungsmessung schreiben?
23,9 kwp PV , 30,6 kWh BYD HVS Box 2 x 20,4 kWh BYD HVS Box
2 x 15 kWh BMZ Hyperion
ID3 für meine Frau , ID4 für mich
1 oWb 2.0 im Hauptverteiler
Je 1 oWb in Garage und Carport
Täglich auf die neueste Version Aktualisiert
2 x 15 kWh BMZ Hyperion
ID3 für meine Frau , ID4 für mich
1 oWb 2.0 im Hauptverteiler
Je 1 oWb in Garage und Carport
Täglich auf die neueste Version Aktualisiert
-
- Beiträge: 3850
- Registriert: Di Feb 25, 2020 9:23 am
- Has thanked: 5 times
- Been thanked: 37 times
Re: Smarthome 2.0 Erweiterungen (HTTP Devices, neue Farben, monthly Charts)
Oben bei Gerät "Http" auswählen, weiter unten dann "Separate Leistungsmessung" und als Gerät "Shelly".Meth hat geschrieben: ↑Fr Dez 18, 2020 7:10 am Genial Oliver !
Geht auch HTTP Signal zum Ein und Ausschalten und Messung über Shelly ?
Letztens wollte das nicht über nehmen da die Zeile dann Rot war und das Speicher nicht ging .
Oder muss ich dann irgenwas in die Zeile der Leistungsmessung schreiben?
Die URL für die Leistungsmessung beim ersten Gerät kann dann leer bleiben.
-
- Beiträge: 2426
- Registriert: Fr Mär 08, 2019 1:57 pm
- Has thanked: 2 times
- Been thanked: 30 times
Re: Smarthome 2.0 Erweiterungen (HTTP Devices, neue Farben, monthly Charts)
Ein Punkt ist hier noch wichtig (nur relevant bei HTTP und separate Leistungsmessung):LutzB hat geschrieben: ↑Fr Dez 18, 2020 11:27 amOben bei Gerät "Http" auswählen, weiter unten dann "Separate Leistungsmessung" und als Gerät "Shelly".Meth hat geschrieben: ↑Fr Dez 18, 2020 7:10 am Genial Oliver !
Geht auch HTTP Signal zum Ein und Ausschalten und Messung über Shelly ?
Letztens wollte das nicht über nehmen da die Zeile dann Rot war und das Speicher nicht ging .
Oder muss ich dann irgenwas in die Zeile der Leistungsmessung schreiben?
Die URL für die Leistungsmessung beim ersten Gerät kann dann leer bleiben.
Die Url der Leistungsmessung braucht er aus zwei möglichen Gründen:
a) Du willst den aktuellen Überschuss laufend an das Gerät übergeben, damit deine Klimaanlage in Abhängigkeit vom Überschuss deinen Raum kühlt.
Du kannst dann hier den Parameter <openwb-ueberschuss> der zur Laufzeit mit dem aktuellen Überschuss gefüllt wird mitschicken.
b) Openwb fragt laufend mit der Url der Leistungsmessung ab ob das Gerät eingeschaltet ist oder im PV Modus ist und prüft das gegen die Ein/Ausschaltbedinungen.
Bei Http Geräten wird hier nur ein Wert (als Integer) zurück geliefert. Wenn Rückgabe Wert > 50 wird Gerät als angeschaltet oder im PV Modus erkannt, sonst als ausgeschaltet respektive nicht im PV Modus.
Am besten verknüpfst du hier eine URL die den Status deines Gerätes zurück liefert, (z.B. 0 -> Gerät aus, 100 -> Gerät läuft) und machst nachher weiter unten separate Leistungsmessung mit Shelly.
Wenn das deine Klimaanlage nicht hergibt, kannst du dich auch mit folgenden Scripts behelfen. Diese überprüfen was openwb als letztes on oder off Kommando diesem Smarthomedevice geschickt hat (aus dem smarthome_device_2_http.log, bitte device nummer 2 anpassen ).
Gruss Oliver
Leistungsurl
127.0.0.1/cust/teston.php
teston.php
<?php
$command = escapeshellcmd("sudo /bin/bash /var/www/html/cust/teston.sh");
$output = shell_exec($command);
echo $output;
?>
teston.sh
#!/bin/bash
#device nummer anpassen
rel0=$(grep -E 'http off.py devicenr|http on.py devicenr' /var/www/html/openWB/ramdisk/smarthome_device_2_http.log | tail -n 1)
#echo $rel0
temp="${rel0#*http }"
#echo $temp
rel1="${temp%%\.*}"
#echo $rel1
if [[ $rel1 == "on" ]]; then
#device aktiv
echo 100
echo 100 > /var/www/html/openWB/ramdisk/smarthome_device_2_http_status
elif [[ $rel1 == "off" ]]; then
#device läuft nicht
echo 0
echo 0 > /var/www/html/openWB/ramdisk/smarthome_device_2_http_status
else
# not found in log, alten status schicken
oldrel=$(</var/www/html/openWB/ramdisk/smarthome_device_2_http_status)
echo "$oldrel"
fi
sudo chmod 777 /var/www/html/openWB/ramdisk/smarthome_device_2_http_status
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update ): viewtopic.php?f=14&t=5923
Smarthomeprobleme siehe hier (update ): viewtopic.php?f=14&t=5923
Re: Smarthome 2.0 Erweiterungen (HTTP Devices, neue Farben, monthly Charts)
Ok danke teste ich .
Ist das gewollt das man in die Zeilen nichts kopiern kann mit Strg+V ?
Ist das gewollt das man in die Zeilen nichts kopiern kann mit Strg+V ?
23,9 kwp PV , 30,6 kWh BYD HVS Box 2 x 20,4 kWh BYD HVS Box
2 x 15 kWh BMZ Hyperion
ID3 für meine Frau , ID4 für mich
1 oWb 2.0 im Hauptverteiler
Je 1 oWb in Garage und Carport
Täglich auf die neueste Version Aktualisiert
2 x 15 kWh BMZ Hyperion
ID3 für meine Frau , ID4 für mich
1 oWb 2.0 im Hauptverteiler
Je 1 oWb in Garage und Carport
Täglich auf die neueste Version Aktualisiert
Re: Smarthome 2.0 Erweiterungen (HTTP Devices, neue Farben, monthly Charts)
Hallo,
Ich habe die Skripte vom okaegi mal ausprobiert.
Wenn ich das teston.sh Skript manuell starte (sudo /bin/bash /var/www/html/cust/teston.sh) kommt zuerst diese Fehlermeldungen 1006 mal (jede Zeile des Logs):
Ich würde das so interpretieren, dass in dem Log nicht wie erwünscht der aktuelle Status steht, dazu aber später mehr.
Dann kommt folgende Fehlermeldung:
Das File ist tatsächlich nicht in der Ramdisk vorhanden, soll ich es mit touch und entsprechenden Rechten einfach erstellen?
Bei dem sudo chmod war ich mir nicht sicher ob das noch Teil des Skripts ist, hier findet er das File aber natürlich auch nicht. Außerdem war ich mir nicht sicher ob ich für devicenr die Nummer meines Device eintragen soll oder ob man das so lässt, ich habs erstmal so gelassen.
Ich hab dann mal selber in das smarthome_device_1_http.log geschaut, dieses besteht nur aus einer ständigen Wiederholung folgender Meldung:
Muss das Smarthome-Loglevel auf eine bestimmte Höhe eingestellt sein?
Das Smarthome.log besteht aus einer ständigen Wiederholung folgender Meldung:
Das Smarthomehandler.log besteht aus einer ständigen Wiederholung folgender Meldung:
Was genau macht das Skript eigentlich? Ich bin davon ausgegangen, dass es den letzten Status des Gerätes aus dem Log lesen will (findet er bei mir nicht) und dann openWB "simuliert" dass das Gerät tatsächlich an/aus ist. Warum schreibt dieses Skript den Status dann in smarthome_device_1_http_status, während watt.py den Status in smarthome_device_ret1 schreibt?
Ich habe die Skripte vom okaegi mal ausprobiert.
Wenn ich das teston.sh Skript manuell starte (sudo /bin/bash /var/www/html/cust/teston.sh) kommt zuerst diese Fehlermeldungen 1006 mal (jede Zeile des Logs):
Code: Alles auswählen
/var/www/html/openWB/ramdisk/smarthome_device_1_http.log: line 1002: 12/19/2020,: No such file or directory
Dann kommt folgende Fehlermeldung:
Code: Alles auswählen
teston.sh: line 19: /var/www/html/openWB/ramdisk/smarthome_device_1_http_status: No such file or directory
Bei dem sudo chmod war ich mir nicht sicher ob das noch Teil des Skripts ist, hier findet er das File aber natürlich auch nicht. Außerdem war ich mir nicht sicher ob ich für devicenr die Nummer meines Device eintragen soll oder ob man das so lässt, ich habs erstmal so gelassen.
Ich hab dann mal selber in das smarthome_device_1_http.log geschaut, dieses besteht nur aus einer ständigen Wiederholung folgender Meldung:
Code: Alles auswählen
12/19/2020, 10:17:21 http watty.py devicenr 1 orig url http://127.0.0.1/cust/teston.php replaced url http://127.0.0.1/cust/teston.php
Das Smarthome.log besteht aus einer ständigen Wiederholung folgender Meldung:
Code: Alles auswählen
Sat Dec 19 10:23:10 2020: Conditions Device: 1 Poolpumpe'1relais'
Sat Dec 19 10:23:17 2020: Device http1Poolpumpe Fehlermeldung: [Errno 2] No such file or directory: '/var/www/html/openWB/ramdisk/smarthome_device_ret1'
Sat Dec 19 10:23:17 2020: Conditions Device: 1 Poolpumpe'1relais'
Code: Alles auswählen
Traceback (most recent call last):
File "/var/www/html/openWB/modules/smarthome/http/watt.py", line 30, in <module>
aktpower = int(urllib.request.urlopen(urlrep, timeout=5).read().decode("utf-8"))
ValueError: invalid literal for int() with base 10: '\n'
Re: Smarthome 2.0 Erweiterungen (HTTP Devices, neue Farben, monthly Charts)
Ich hab des ganze jetzt über das alte Smarthome gelöst, da ist das HTTP-Modul deutlich einfacher, mit einer simplen An Url und einer Aus Url.
Ich teile meine Lösung mal hier, vielleicht nützt sie ja jemand anderem. Die Skripte schreiben einfach eine 0 oder 1 je nach openWB-Gerätestatus in ein festgelegtes Topic in meinen eigenen MQTT-Broker.
Konfiguration des "alten" HTTP-Smarthome-Device:
Einschalt-URL: 127.0.0.1/cust/mqtt_on.php
Ausschalt-URL: 127.0.0.1/cust/mqtt_off.php
In /var/www/html/cust liegen folgende Skripte:
mqtt_on.php
<?php
$command = escapeshellcmd("sudo /bin/python3 /var/www/html/cust/mqtt_on.py");
$output = shell_exec($command);
echo $output;
?>
mqtt_off.php
<?php
$command = escapeshellcmd("sudo /bin/python3 /var/www/html/cust/mqtt_off.py");
$output = shell_exec($command);
echo $output;
?>
mqtt_on.py
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.username_pw_set("Hier MQTT-Username eintragen", "Hier MQTT-Passwort eintragen")
client.connect("Hier IP des MQTT-Brokers eintragen", 1883, 60)
client.publish("Hier MQTT-Topic eintragen", 1)
mqtt_off.py
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.username_pw_set("Hier MQTT-Username eintragen", "Hier MQTT-Passwort eintragen")
client.connect("Hier IP des MQTT-Brokers eintragen", 1883, 60)
client.publish("Hier MQTT-Topic eintragen", 0)
Ich teile meine Lösung mal hier, vielleicht nützt sie ja jemand anderem. Die Skripte schreiben einfach eine 0 oder 1 je nach openWB-Gerätestatus in ein festgelegtes Topic in meinen eigenen MQTT-Broker.
Konfiguration des "alten" HTTP-Smarthome-Device:
Einschalt-URL: 127.0.0.1/cust/mqtt_on.php
Ausschalt-URL: 127.0.0.1/cust/mqtt_off.php
In /var/www/html/cust liegen folgende Skripte:
mqtt_on.php
<?php
$command = escapeshellcmd("sudo /bin/python3 /var/www/html/cust/mqtt_on.py");
$output = shell_exec($command);
echo $output;
?>
mqtt_off.php
<?php
$command = escapeshellcmd("sudo /bin/python3 /var/www/html/cust/mqtt_off.py");
$output = shell_exec($command);
echo $output;
?>
mqtt_on.py
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.username_pw_set("Hier MQTT-Username eintragen", "Hier MQTT-Passwort eintragen")
client.connect("Hier IP des MQTT-Brokers eintragen", 1883, 60)
client.publish("Hier MQTT-Topic eintragen", 1)
mqtt_off.py
import paho.mqtt.client as mqtt
client = mqtt.Client()
client.username_pw_set("Hier MQTT-Username eintragen", "Hier MQTT-Passwort eintragen")
client.connect("Hier IP des MQTT-Brokers eintragen", 1883, 60)
client.publish("Hier MQTT-Topic eintragen", 0)
Zuletzt geändert von JSAnyone am So Dez 27, 2020 9:39 pm, insgesamt 2-mal geändert.
-
- Beiträge: 2426
- Registriert: Fr Mär 08, 2019 1:57 pm
- Has thanked: 2 times
- Been thanked: 30 times
Re: Smarthome 2.0 Erweiterungen (HTTP Devices, neue Farben, monthly Charts)
Also das ist so:JSAnyone hat geschrieben: ↑Sa Dez 19, 2020 9:41 am Hallo,
Ich habe die Skripte vom okaegi mal ausprobiert.
Wenn ich das teston.sh Skript manuell starte (sudo /bin/bash /var/www/html/cust/teston.sh) kommt zuerst diese Fehlermeldungen 1006 mal (jede Zeile des Logs):Ich würde das so interpretieren, dass in dem Log nicht wie erwünscht der aktuelle Status steht, dazu aber später mehr.Code: Alles auswählen
/var/www/html/openWB/ramdisk/smarthome_device_1_http.log: line 1002: 12/19/2020,: No such file or directory
Dann kommt folgende Fehlermeldung:Das File ist tatsächlich nicht in der Ramdisk vorhanden, soll ich es mit touch und entsprechenden Rechten einfach erstellen?Code: Alles auswählen
teston.sh: line 19: /var/www/html/openWB/ramdisk/smarthome_device_1_http_status: No such file or directory
Bei dem sudo chmod war ich mir nicht sicher ob das noch Teil des Skripts ist, hier findet er das File aber natürlich auch nicht. Außerdem war ich mir nicht sicher ob ich für devicenr die Nummer meines Device eintragen soll oder ob man das so lässt, ich habs erstmal so gelassen.
Ich hab dann mal selber in das smarthome_device_1_http.log geschaut, dieses besteht nur aus einer ständigen Wiederholung folgender Meldung:Muss das Smarthome-Loglevel auf eine bestimmte Höhe eingestellt sein?Code: Alles auswählen
12/19/2020, 10:17:21 http watty.py devicenr 1 orig url http://127.0.0.1/cust/teston.php replaced url http://127.0.0.1/cust/teston.php
Das Smarthome.log besteht aus einer ständigen Wiederholung folgender Meldung:Das Smarthomehandler.log besteht aus einer ständigen Wiederholung folgender Meldung:Code: Alles auswählen
Sat Dec 19 10:23:10 2020: Conditions Device: 1 Poolpumpe'1relais' Sat Dec 19 10:23:17 2020: Device http1Poolpumpe Fehlermeldung: [Errno 2] No such file or directory: '/var/www/html/openWB/ramdisk/smarthome_device_ret1' Sat Dec 19 10:23:17 2020: Conditions Device: 1 Poolpumpe'1relais'
Was genau macht das Skript eigentlich? Ich bin davon ausgegangen, dass es den letzten Status des Gerätes aus dem Log lesen will (findet er bei mir nicht) und dann openWB "simuliert" dass das Gerät tatsächlich an/aus ist. Warum schreibt dieses Skript den Status dann in smarthome_device_1_http_status, während watt.py den Status in smarthome_device_ret1 schreibt?Code: Alles auswählen
Traceback (most recent call last): File "/var/www/html/openWB/modules/smarthome/http/watt.py", line 30, in <module> aktpower = int(urllib.request.urlopen(urlrep, timeout=5).read().decode("utf-8")) ValueError: invalid literal for int() with base 10: '\n'
Wenn ich das teston.sh Skript manuell starte (sudo /bin/bash /var/www/html/cust/teston.sh) kommt zuerst diese Fehlermeldungen 1006 mal (jede Zeile des Logs):
Code: Alles auswählen
/var/www/html/openWB/ramdisk/smarthome_device_1_http.log: line 1002: 12/19/2020,: No such file or directory
Deine Fragen:
Die log Datei wird angelegt, wenn der Smarthome device einmal erfolgreich den Einschalturl oder den Ausschalturl durchlaufen hat.
Ebenso wird dann auf der Ramdisk die Datei smarthome_device_1_http_status angelegt.
In dem Beispielscript hättest du die Nummer _2_ durch deine Smarthome Device Nummer ersetzten.
Gruss Oliver
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update ): viewtopic.php?f=14&t=5923
Smarthomeprobleme siehe hier (update ): viewtopic.php?f=14&t=5923
Re: Smarthome 2.0 Erweiterungen (HTTP Devices, neue Farben, monthly Charts)
Das ich die Nummer _2_ ersetzen muss ist klar und habe ich auch gemacht, fraglich war für mich nur http on.py devicenr, aber das have ich dann ja nicht ersetzt.
Heist erfolgreich, dass bei der on/off URL ein Server erreicht wurde? Weil da habe ich einfach eine bei mir im Netzwerk nicht existierende IP angegeben.
-
- Beiträge: 2426
- Registriert: Fr Mär 08, 2019 1:57 pm
- Has thanked: 2 times
- Been thanked: 30 times
Re: Smarthome 2.0 Erweiterungen (HTTP Devices, neue Farben, monthly Charts)
Er nimmt nur die Url, die Ip Adresse ist hier nicht relevant.
Gruss Oliver
Gruss Oliver
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update ): viewtopic.php?f=14&t=5923
Smarthomeprobleme siehe hier (update ): viewtopic.php?f=14&t=5923