Hallo,
ich habe den Windsensor von Mobile Alerts 10660 http://www.amazon.de/gp/product/B015WC8OUS/ref=as_li_tl?ie=UTF8&camp=1638&creative=19454&creativeASIN=B015WC8OUS&linkCode=as2&tag=jensosburaspu-21 (http://www.amazon.de/gp/product/B015WC8OUS/ref=as_li_tl?ie=UTF8&camp=1638&creative=19454&creativeASIN=B015WC8OUS&linkCode=as2&tag=jensosburaspu-21)
in FHEM erfolgreich integriert.
Im Anhang das list-Ergebnis des Devices "SENSOR_WINDGESCHWINDIGKEIT".
Der Mobile Alerts Sensor
http://www.amazon.de/gp/product/B015WC8OUS/ref=as_li_tl?ie=UTF8&camp=1638&creative=19454&creativeASIN=B015WC8OUS&linkCode=as2&tag=jensosburaspu-21
gibt die Windrichtung ja numerisch aus, also:
wd = Windrichtung (0 = N, 1 = NNO, 2 = NO, 3 = ONO, 4 = O, ...., 12 = W, 13 = WNW, 14 = NW, 15 = NNW)
Das "wind_direction" - Widget nimmt, so wie ich die Anleitung hier verstehe https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/wind_direction (https://github.com/nesges/Widgets-for-fhem-tablet-ui/wiki/wind_direction), die Daten z.B. in Grad entgegen:
Attribute
direction
Reading mit der Windrichtung. Kann numerisch (0-360) oder in Textform ("NO") angegeben sein. Default: wind_direction
Also muss ich die numerischen Werte der Windrichtung "0", "1", "2".....,"14", "15" in die entsprechenden Grad-Zahlen umrechnen, was ich mit folgendem UserReadings denke zu tun (ab hier bin ich mir unsicher...):
wind_direction:WINDRICHTUNG{ int(ReadingsVal("SENSOR_WINDGESCHWINDIGKEIT","WINDRICHTUNG",0))/15*360 }
Mein Problem:
In FTUI wird mir nicht die korrekte Windrichtung angezeigt.
Folgenden Code verwende ich zur Anzeige (evtl. ist in diesem auch ein Fehler?):
<div data-type="wind_direction" data-device="SENSOR_WINDGESCHWINDIGKEIT" data-get="wind_direction" data-speed="wind" data-calm="-" data-tickstep="22,5" data-part="2" class="darker dim-back small readonly"></div>
Sieht jemand, was ich falsch mache?
Kann ich mir irgendwie das Ergebnis von "UserReadings" anzeigen um zu sehen, ob das Ergebnis überhaupt richtig ist?
Vielen Dank für Eure Hilfe.
Viele Grüße
Jens
Hallo,
kann ich mir irgendwie das Ergebnis von "UserReadings" anzeigen lassen um zu sehen, ob das Ergebnis überhaupt richtig ist?
Vielen Dank für die Hilfe...
Gesendet von iPhone mit Tapatalk
Zitat von: josburg am 25 Januar 2016, 21:30:31
Also muss ich die numerischen Werte der Windrichtung "0", "1", "2".....,"14", "15" in die entsprechenden Grad-Zahlen umrechnen, was ich mit folgendem UserReadings denke zu tun (ab hier bin ich mir unsicher...):
wind_direction:WINDRICHTUNG{ int(ReadingsVal("SENSOR_WINDGESCHWINDIGKEIT","WINDRICHTUNG",0))/15*360 }
Du hast nicht 15, sondern 16 mögliche Werte. Die Formel müsste ReadingsVal(...) / 16*360 lauten.
ZitatKann ich mir irgendwie das Ergebnis von "UserReadings" anzeigen um zu sehen, ob das Ergebnis überhaupt richtig ist?
Das siehst du in FhemWeb direkt am Device oder kannst es dir mit dem list Befehl ausgeben lassen. Wenn dort nichts zu sehen ist, wird das UserReading evtl. nie getriggert. Du hast als Trigger-Event "WINDRICHTUNG" notiert. Prüfe mal, ob ein entsprechendes Event erzeugt wird. Wenn nicht, dann lass es weg. So wird das UserReading allerdings bei jedem Update erzeugt.
Zitat von: nesges am 26 Januar 2016, 10:05:52
Du hast nicht 15, sondern 16 mögliche Werte. Die Formel müsste ReadingsVal(...) / 16*360 lauten.
Das siehst du in FhemWeb direkt am Device oder kannst es dir mit dem list Befehl ausgeben lassen. Wenn dort nichts zu sehen ist, wird das UserReading evtl. nie getriggert. Du hast als Trigger-Event "WINDRICHTUNG" notiert. Prüfe mal, ob ein entsprechendes Event erzeugt wird. Wenn nicht, dann lass es weg. So wird das UserReading allerdings bei jedem Update erzeugt.
Hallo nesges,
die Formel mit "16" anstelle "15" habe ich korrigiert. Vielen Dank, stimmt natürlich, wobei das auf das generelle Funktionieren keinen Einfluss haben dürfte...
Ich habe das Ergebnis von list mal hier in gekürzter Form dargestellt (habe Daten aus der Vergangenheit gelöscht):
Internals:
BUSY 0
DEF http://23.97.212.128:8080/api/v1/dashboard 600
HTTPHEADER
Interval 600
LASTSEND 1453827481.55378
MainURL http://23.97.212.128:8080/api/v1/dashboard
NAME SENSOR_WINDGESCHWINDIGKEIT
NR 274
STATE 0.9 m/s, Böe 1.5 m/s, Windrichtung 10.0
TRIGGERTIME 1453828081.55301
TRIGGERTIME_FMT 2016-01-26 18:08:01
TYPE HTTPMOD
addr http://23.97.212.128:8080
buf HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 13544
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 26 Jan 2016 16:58:02 GMT
Connection: close
{
"success": true,
"primarydomain": "www.data199.com",
"phoneid": "032330XXXXXX",
"result": {
"devices": [
{
"deviceid": "0B07EBXXXXXX",
"devicetypeid": 11,
"name": "Windsensor",
"lang": "de",
"lastseen": 1453826939,
"lowbattery": false,
"alertwasactive": false,
"settings": {
"wsalarmactive": false,
"ws": 1.0,
"wgalarmactive": false,
"wg": 1.0,
"wats": 360,
"wdnalarmactive": true,
"wdnnealarmactive": true,
"wdnealarmactive": true,
"wdenealarmactive": true,
"wdealarmactive": true,
"wdesealarmactive": true,
"wdsealarmactive": true,
"wdssealarmactive": true,
"wdsalarmactive": true,
"wdsswalarmactive": true,
"wdswalarmactive": true,
"wdwswalarmactive": true,
"wdwalarmactive": true,
"wdwnwalarmactive": true,
"wdnwalarmactive": true,
"wdnnwalarmactive": true
},
"measurements": [
{
"idx": 25858,
"ts": 1453826939,
"tx": 7596,
"c": 1453827199,
"pr": false,
"ws": 0.9,
"wg": 1.5,
"wd": 10
},
{
"idx": 25855,
"ts": 1453826517,
"tx": 7595,
"c": 1453826776,
"pr": false,
"ws": 0.9,
"wg": 1.4000000000000001,
"wd": 11
},
{
"idx": 25852,
"ts": 1453826095,
"tx": 7594,
"c": 1453826356,
"pr": false,
"ws": 1.4000000000000001,
"wg": 2.3000000000000003,
"wd": 11
},
{
"idx": 25848,
"ts": 1453825674,
"tx": 7593,
"c": 1453825935,
"pr": false,
"ws": 1.1,
"wg": 2.1,
"wd": 11
}
],
"alertevents": []
}
]
}
}
code 200
conn
data devicetoken=c469a2c5-2f82464f-a73969cc-e1e3bf15-2eb7db2b-2b2cc4fb-a87fd82a-f596ab77&vendorid=3D3BCADD-79C6-4AEE-9F8B-73C83C047122&phoneid=032330XXXXXX&version=1.21&build=248&executable=Mobile Alerts&bundle=de.synertronixx.remotemonitor&lang=de&timezoneoffset=60&timeampm=false&usecelsius=true&usemm=true&speedunit=1×tamp=1453237425&requesttoken=07436acf2dce9a096aef931736865952&deviceids=0B07EBXXXXXX,&measurementfroms=,0,0,0,0,0,&measurementcounts=,50,50,50,50,50,
displayurl http://23.97.212.128:8080/api/v1/dashboard
header Content-Type: application/x-www-form-urlencoded
host 23.97.212.128
httpheader HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 13544
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 26 Jan 2016 16:58:02 GMT
Connection: close
hu_blocking 0
hu_filecount 65
ignoreredirects 0
loglevel 4
path /api/v1/dashboard
protocol http
redirects 0
timeout 2
url http://23.97.212.128:8080/api/v1/dashboard
QUEUE:
Readings:
2016-01-26 17:58:02 BÖE 1.5
2016-01-26 17:58:02 WINDGESCHWINDIGKEIT 0.9
2016-01-26 17:58:02 WINDRICHTUNG 10
Request:
data devicetoken=c469a2c5-2f82464f-a73969cc-e1e3bf15-2eb7db2b-2b2cc4fb-a87fd82a-f596ab77&vendorid=3D3BCADD-79C6-4AEE-9F8B-73C83C047122&phoneid=032330XXXXXX&version=1.21&build=248&executable=Mobile Alerts&bundle=de.synertronixx.remotemonitor&lang=de&timezoneoffset=60&timeampm=false&usecelsius=true&usemm=true&speedunit=1×tamp=1453237425&requesttoken=07436acf2dce9a096aef931736865952&deviceids=0B07EBXXXXXX,&measurementfroms=,0,0,0,0,0,&measurementcounts=,50,50,50,50,50,
header Content-Type: application/x-www-form-urlencoded
ignoreredirects 0
retryCount 0
type Update
url http://23.97.212.128:8080/api/v1/dashboard
Attributes:
reading01Name WINDGESCHWINDIGKEIT
reading01Regex (?s)"measurements".+?"ws": (\d+\.\d+)
reading02Name BÖE
reading02Regex (?s)"measurements".+?"wg": (\d+\.\d+)
reading03Name WINDRICHTUNG
reading03Regex (?s)"measurements".+?"wd": (\d+)
requestData devicetoken=c469a2c5-2f82464f-a73969cc-e1e3bf15-2eb7db2b-2b2cc4fb-a87fd82a-f596ab77&vendorid=3D3BCADD-79C6-4AEE-9F8B-73C83C047122&phoneid=032330XXXXXX&version=1.21&build=248&executable=Mobile Alerts&bundle=de.synertronixx.remotemonitor&lang=de&timezoneoffset=60&timeampm=false&usecelsius=true&usemm=true&speedunit=1×tamp=1453237425&requesttoken=07436acf2dce9a096aef931736865952&deviceids=0B07EBXXXXXX,&measurementfroms=,0,0,0,0,0,&measurementcounts=,50,50,50,50,50,
requestHeader1 Content-Type: application/x-www-form-urlencoded
room Temperatur und Luftfeuchtigkeit,all
stateFormat {sprintf("%.1f m/s, Böe %.1f m/s, Windrichtung %.1f", ReadingsVal($name,"WINDGESCHWINDIGKEIT",0), ReadingsVal($name,"BÖE",0), ReadingsVal($name,"WINDRICHTUNG",0))}
userReadings wind_direction:WINDRICHTUNG{ int(ReadingsVal("SENSOR_WINDGESCHWINDIGKEIT","WINDRICHTUNG",0))/16*360 }
userattr event-on-change-reading icon reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading[0-9]+Name requestData requestHeader1
Dein userReadings ist falsch definiert. so ist es richtig:
wind_direction:WINDRICHTUNG {int(ReadingsVal("SENSOR_WINDGESCHWINDIGKEIT","WINDRICHTUNG",0))/16*360}
Am besten so wie ich es als Code hier stehen habe reinkopieren.
Aktuell wird es ja garnicht erstellt.
Sorry für den Vertipper in meiner PM
Gruß
Markus
Puuhhhh, blutige Anfänger-Fehler...
War mir nicht bewusst, dass die Blanks so eine Relevanz haben.
Mit jedem Fehler lernt man.
VIELEN DANK für die Hilfe!