Seite 1 von 2

Smart Home 2.0 - Separate Leistungsmessung über JSON

Verfasst: Do Mai 27, 2021 8:46 am
von bvv
Hallo,

Software
Kernel: Linux 5.4.83-v7+ GNU/Linux
openWB Version: 1.9.235
Hardware
Board: Raspberry Pi 3 Model B Plus Rev 1.3

Wie kan ich den Separate Leistungsmessung JSON Zugriff für Smarthome 2.0 benutzen mit JQery?
a.JPG
Ich brauche nur die Zahl: "Data"

Antwort vom URL:
{
"ActTime" : 1622104900,
"AstrTwilightEnd" : "00:00",
"AstrTwilightStart" : "00:00",
"CivTwilightEnd" : "22:23",
"CivTwilightStart" : "04:55",
"DayLength" : "16:02",
"NautTwilightEnd" : "23:24",
"NautTwilightStart" : "03:54",
"ServerTime" : "2021-05-27 10:41:40",
"SunAtSouth" : "13:39",
"Sunrise" : "05:38",
"Sunset" : "21:40",
"app_version" : "2021.1 (build 13277)",
"result" :
[
{
"AddjMulti" : 1.0,
"AddjMulti2" : 1.0,
"AddjValue" : 0.0,
"AddjValue2" : 0.0,
"BatteryLevel" : 255,
"CustomImage" : 0,
"Data" : "0 Watt",
"Description" : "",
"Favorite" : 1,
"HardwareDisabled" : false,
"HardwareID" : 2,
"HardwareName" : "Controller",
"HardwareType" : "OpenZWave USB",
"HardwareTypeVal" : 21,
"HaveTimeout" : false,
"ID" : "0000304",
"LastUpdate" : "2021-05-27 10:17:15",
"Name" : "Power Water",
"Notifications" : "false",
"PlanID" : "0",
"PlanIDs" :
[
0
],
"Protected" : false,
"ShowNotifications" : true,
"SignalLevel" : "-",
"SubType" : "Electric",
"Timers" : "false",
"Type" : "Usage",
"TypeImg" : "current",
"Unit" : 2,
"Used" : 1,
"XOffset" : "0",
"YOffset" : "0",
"idx" : "14"
}
],
"status" : "OK",
"title" : "Devices"
}

Vielen Dank für die Hilfe!
MfG
Bart

Re: Smart Home 2.0 - Separate Leistungsmessung über JSON

Verfasst: Do Mai 27, 2021 9:23 am
von derNeueDet
Blöd, dass da noch was dahinter steht ;-)

.result[0].Data

"0 Watt"

Ich schau mal, ob ich das Watt noch weg bekomme.

VG
Det

Re: Smart Home 2.0 - Separate Leistungsmessung über JSON

Verfasst: Do Mai 27, 2021 9:37 am
von derNeueDet
Hmm,

nur für positiver Werte von Data:

.result[0].Data|(capture ("(?<n>[0-9]+)"))|.n|tonumber

VG
Det

Re: Smart Home 2.0 - Separate Leistungsmessung über JSON

Verfasst: Do Mai 27, 2021 9:42 am
von derNeueDet
Für positive und negative Werte:

.result[0].Data|(capture ("(?<n>-?[0-9]+)"))|.n|tonumber

VG
Det

Re: Smart Home 2.0 - Separate Leistungsmessung über JSON

Verfasst: Do Mai 27, 2021 4:54 pm
von bvv
Vielen Dank.
a.JPG
b.JPG
1. Das Gerät schaltet nicht. In Smart Home mit den selben Parameter = ok, in Smart Home 2 (siehe hier oben) = nicht OK
2. Log Smarthome:
c.JPG
3. Keine Messung?
Json Antwort: "Data" : "11.4 Watt"
Hat der Punkt wass damit zu tun?

MfG
Bart

Re: Smart Home 2.0 - Separate Leistungsmessung über JSON

Verfasst: Do Mai 27, 2021 5:46 pm
von derNeueDet
Glaube nicht, dass das an der Leistungsmessung liegt. Bei einer Dezimalzahl wird mit dm Filter am . abgeschnitten, damit bleibt dann 11 übrigt für deinen Wert.

Ich sehe Timeouts. Und ich sehe, dass da das http Modul den Fehler wirft, nicht das JSON Modul. Die Leitungsmessung an der Stelle kapiere ich nicht
@Okaegi: Kannst du dir das mal anschauen.

Re: Smart Home 2.0 - Separate Leistungsmessung über JSON

Verfasst: Do Mai 27, 2021 5:54 pm
von derNeueDet
Was passiert denn, wenn du die Leistungsurl komplett leer lässt?

Re: Smart Home 2.0 - Separate Leistungsmessung über JSON

Verfasst: Fr Mai 28, 2021 6:37 am
von bvv
1. In Smarthome funktioniert es
d.JPG
2. ohne Leistungsmessung in Smarthome 2.0

Selbe Problem:
2021-05-28 08:28:33: Conditions (1) Boiler Fehlermeldung: '1relais'
2021-05-28 08:28:33: (1) Boiler Überschuss -809 größer Einschaltschwelle-2000
2021-05-28 08:28:33: (1) Boiler Maximale Einschaltdauer nicht erreicht
2021-05-28 08:28:33: Total Watt nichtabschaltbarer smarthomedevices: 0
2021-05-28 08:28:33: Total Watt abschaltbarer smarthomedevices: 0
2021-05-28 08:28:33: Device http1Boiler Fehlermeldung: [Errno 2] No such file or directory: '/var/www/html/openWB/ramdisk/smarthome_device_ret1'
urllib.error.HTTPError: HTTP Error 400: Bad Request
raise HTTPError(req.full_url, code, msg, hdrs, fp)
File "/usr/lib/python3.7/urllib/request.py", line 649, in http_error_default
result = func(*args)
File "/usr/lib/python3.7/urllib/request.py", line 503, in _call_chain
return self._call_chain(*args)
File "/usr/lib/python3.7/urllib/request.py", line 569, in error
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.7/urllib/request.py", line 641, in http_response
response = meth(req, response)
File "/usr/lib/python3.7/urllib/request.py", line 531, in open
return opener.open(url, data, timeout)
File "/usr/lib/python3.7/urllib/request.py", line 222, in urlopen
aktpowerfl = float(urllib.request.urlopen(urlrep, timeout=5).read().decode("utf-8"))
File "/var/www/html/openWB/modules/smarthome/http/watt.py", line 34, in <module>

Traceback (most recent call last):
2021-05-28 08:28:33: Speicher Entladung(-)/Ladung(+): 0 SpeicherSoC: 100

3. Direct URL im Browser: Funktioniert
http://192.168.2.20:8080/json.htm?type= ... itchcmd=On
http://192.168.2.20:8080/json.htm?type= ... tchcmd=Off

Re: Smart Home 2.0 - Separate Leistungsmessung über JSON

Verfasst: Fr Mai 28, 2021 6:46 am
von okaegi
Er erwartet in der Leistungsurl einen Wert, auch um zu prüfen ob ein gerät an oder aus ist.

if aktpower > 50:
relais = 1
else:
relais = 0

Kannst du mal folgendes php erfassen und aufrufen:

<?php
echo 0
?>

Das ganze unter test.php speichern und unter Leistungsurl einbauen ?
Gruss Oliver

Re: Smart Home 2.0 - Separate Leistungsmessung über JSON

Verfasst: Fr Mai 28, 2021 8:27 am
von bvv
selbes Problem.

2021-05-28 10:22:15: Device http1Boiler Fehlermeldung: [Errno 2] No such file or directory: '/var/www/html/openWB/ramdisk/smarthome_device_ret1'

Stimmt die Datei gibt est nicht...