[gelöst:] Wind_Direction - Widget: Keine Anzeige der Windrichtung

Begonnen von josburg, 25 Januar 2016, 21:30:31

Vorheriges Thema - Nächstes Thema

josburg

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
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, 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

josburg

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

nesges

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.

josburg

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&timestamp=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&timestamp=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&timestamp=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


Markus Bloch

#4
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
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

josburg

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!