Autor Thema: deconz push api (offiziell)  (Gelesen 53882 mal)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21283
Antw:deconz push api (offiziell)
« Antwort #135 am: 28 März 2020, 14:50:33 »
das geht aber nur mehr oder weniger zufällig weil im api die daten für alle devices vermutlich auf ein mal aktualisiert werden und abhängig von der reihenfolge. vermutlich hast du so immer noch den vorherigen und nicht den aktuellen wert. wenn sich z.b. nur Bad.Sensor.Hum ändert wird Bad.Sensor.Temp nicht aktualisiert.

es ist besser die werte jeweils über ein notify zu kopieren.

ps: die diversen ReadingsVal in stateFormat sind eigentlich nicht nötig. du kannst die hier: https://fhem.de/commandref.html#set beschriebenen suffixe zum runden auch in stateFormat verwenden. das würde dann etwa so aussehen: T: temperature:r1 P: pressure:i .... ich denke das ist übersichtlicher.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, …

https://github.com/sponsors/justme-1968

Offline tommi0013

  • Newbie
  • Beiträge: 2
Antw:deconz push api (offiziell)
« Antwort #136 am: 30 August 2020, 19:20:01 »
Hallo zusammen,

mittlerweile werden von deconz über die push-api auch die Werte lastseen und lastannounced übergeben. Siehe hier:
https://github.com/dresden-elektronik/deconz-rest-plugin/issues/2590

Besteht die Möglichkeit, in einem kommenden Update der Module HUEBridge und/oder HUEDevice diese Wete in einem HUEDevice als Reading einzufügen? Momentan löse ich das so, dass ich per HTTPMOD lastseen und lastannounced von deconz (2.05.79, RaspBee auf einem RasPi 3B) auslese (alle 60 Sekunden), und diese dann per notify in das entsprechende Device schreibe. Schicker wäre es natürlich (und dann durch push auch immer aktuell), wenn die Werte direkt als Reading kommen würden.

Hier mal ein list von einer Lampe, die schon mehr als zwei Minuten vom Strom getrennt ist, aber dennoch als "on" angezeigt wird:
Internals:
   DEF        15  IODev=HUEBridge2
   FUUID      5edd3534-f33f-c0d6-9d07-2f6a2f752a8ed571
   FVERSION   31_HUEDevice.pm:0.218370/2020-05-02
   ID         15
   INTERVAL   
   IODev      HUEBridge2
   NAME       HUEBridge2_HUEDevice15
   NR         387
   STATE      on
   TYPE       HUEDevice
   desired    1
   manufacturername Philips
   modelid    LWB010
   name       diei_lmpw_Deckenleuchte
   swversion  1.50.2_r30933
   type       Dimmable light
   uniqueid   00:17:88:01:04:cb:bb:8c-0b
   READINGS:
     2020-08-21 20:52:19   alert           none
     2020-08-21 20:52:19   bri             254
     2020-08-23 21:14:30   onoff           1
     2020-08-23 21:14:30   pct             100
     2020-08-30 18:18:31   reachable       1
     2020-08-30 18:18:31   state           on
   helper:
     alert      none
     battery    -1
     bri        254
     colormode 
     ct         -1
     devtype   
     effect     
     hue        -1
     mode       
     pct        100
     reachable  1
     rgb       
     sat        -1
     update_timeout -1
     xy         
     json:
       etag       606dfe3917c59363cabc3dc42ecc4669
       lastannounced 2020-08-30T16:18:31Z
       lastseen   2020-08-30T16:19:10Z
       manufacturername Philips
       modelid    LWB010
       name       diei_lmpw_Deckenleuchte
       swversion  1.50.2_r30933
       type       Dimmable light
       uniqueid   00:17:88:01:04:cb:bb:8c-0b
       state:
         alert      none
         bri        254
Attributes:
   IODev      HUEBridge2
   alias      diei_lmpw_Deckenleuchte
   color-icons 2
   devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
   fp_Grundriss 601,602,0,HUEBridge2_HUEDevice15,
   group      HUEDevice
   icon       hue_filled_white_e27_b22
   model      LWB010
   room       1_DieleEingang,HUEDevice
   subType    dimmer
   webCmd     pct::toggle:on:off

Hintergrund: Leider gibt es bei mir in der Wohnung (Mietwohnung, daher kurzfristig nicht änderbar) noch ein paar Lampen, die direkt über den Netzschalter ausgeschaltet werden. Da in deconz (und dann auch in fhem) diese Lampen teilweise erst nach vielen Minuten als "unreachable" markiert werden, sind diese Lampen im Floorplan noch lange "on", obwohl sie mangels Strom eigentlich "off" bzw. "unreachable" sind. Ich würde jetzt gerne mit doif oder notify eine Formel basteln, die in Abhängigkeit von lastseen die Lampen in fhem einfach ausschaltet wenn davon auszugehen ist, dass diese vom Strom getrennt wurden (z. B. lastseen ist älter als 120 Sekunden). Dafür sollten lastseen und lastannounced aber nach Möglichkeit immer aktuell sein.

Oder hat von euch schon jemand eine ähnliche Überlegung gehabt und auch schon eine praktikabele Lösung parat?

Gruß
Thomas


Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21283
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, …

https://github.com/sponsors/justme-1968

Offline sash.sc

  • Hero Member
  • *****
  • Beiträge: 1967
Antw:deconz push api (offiziell)
« Antwort #138 am: 23 Oktober 2020, 10:50:38 »
Hallo zusammen.

Ich habe mir jerzt den ConBee 2 Stick gekauf.  Habe diesen auch in FHEM integriert. Läuft !

Jetzt zu meinem Problem.
Ich habe die SW deconz auf einem Win10 rechner installiert. Der Stcik läuft an einem Raspi.
Wie kann ich deconz dazu bringen, dass der stick auf dem raspi gefunden wird? mir geht es hauptsächlich um die Anzeige von dem Netzwerk.
Oder gibt es eine Möglichkeit dies auch in FHEm anzeigen zu lassen ?

Gruß und Danke
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; grafana mit influxdb

Offline Starsurfer

  • Full Member
  • ***
  • Beiträge: 420
    • DIY Robot Lawn Mower
Antw:deconz push api (offiziell)
« Antwort #139 am: 23 Oktober 2020, 11:45:08 »
Moin,
du kannst dir das Netzwerk auf dem Raspi per VNC Viewer Anzeigen lassen, bin mir nur nicht sicher ob dafür ein Desktop auf dem Raspi installiert sein muss.
https://github.com/dresden-elektronik/deconz-rest-plugin/issues/1989
FHEM Server: Fujitsu Esprimo q920 + LaCrosseGateway + HM-MOD-RPI-PCB WLAN + ConBee
HomeMatic HM-CC-RT-DN - Sonoff Tasmota
LaCrosse TX29DTH - Innr SP120 - Osram Smart+ Plug
Arduino Mega - MQTT - Pluggit 300
https://www.diy-robot-lawn-mower.com

Offline sash.sc

  • Hero Member
  • *****
  • Beiträge: 1967
Antw:deconz push api (offiziell)
« Antwort #140 am: 23 Oktober 2020, 21:16:39 »
Gibt es da keine andere Möglichkeit?
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; grafana mit influxdb

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 620
Antw:deconz push api (offiziell)
« Antwort #141 am: 23 Oktober 2020, 21:37:44 »
Neee...leider nicht.

Offline 0815eddi

  • New Member
  • *
  • Beiträge: 4
Antw:deconz push api (offiziell)
« Antwort #142 am: 20 November 2021, 20:18:05 »
Hallo zusammen

ich bräuchte mal Unterstützung bei der Integration einens neuen Sensors.
Ich habe mir eine "Tuya Zigbee Smart Sirene mit Temperatur- und Feuchtigkeitsmessung" gekauft.

Deconz hat das Gerät auch erkannt und in FHEM sehe ich jetzt 3 Sensoren vom Typ Humidity, Temperature und Alarm.
So weit - so gut.
Die Sensoren für Humidity und Temperature liefern in ihren Readings auch brav ihre Werte.

Der Alarm-Sensor ist da bei den Readings aber etwas schweigsamer und beschränkt sich auf IOdev - hier mal ein list für das Device:
Internals:
   DEF        sensor 11  IODev=deCONZ
   FUUID      61940d13-f33f-9e1b-2077-c456123bb851db26
   FVERSION   31_HUEDevice.pm:0.239120/2021-03-08
   ID         S11
   INTERVAL   
   IODev      deCONZ
   NAME       HUESensor11
   NR         925
   STATE      ???
   TYPE       HUEDevice
   lastannounced 2021-11-19T17:59:12Z
   lastupdated
   lastupdated_local
   manufacturername _TZE200_d0yu2xgi
   modelid    TS0601
   name       Alarm 11
   on         1
   reachable  1
   type       ZHAAlarm
   uniqueid   5c:02:72:ff:fe:ce:bb:a0-01-0500
   READINGS:
     2021-11-19 19:12:51   IODev           deCONZ
   helper:
     devtype    S
     reachable  0
     update_timeout 1
     configList:
     json:
       e          changed
       id         11
       r          sensors
       t          event
       uniqueid   5c:02:72:ff:fe:ce:bb:a0-01-0500
       attr:
         id         11
         lastannounced 2021-11-19T17:59:12Z
         lastseen   2021-11-20T19:06Z
         manufacturername _TZE200_d0yu2xgi
         modelid    TS0601
         name       Alarm 11
         productid  NAS-AB02B0 Siren
         swversion 
         type       ZHAAlarm
         uniqueid   5c:02:72:ff:fe:ce:bb:a0-01-0500
     setList:
Attributes:
   IODev      deCONZ
   alias      Alarm 11
   group      HUESensor
   model      TS0601
   room       HUEDevice

Über die Api kann ich sehen, dass als state u. a. der Wert "alarm" verfügbar ist.

{"config":{"enrolled":5,"humiditymaxthreshold":null,"humidityminthreshold":null,"melody":null,"on":true,"pending":[],"preset":null,"reachable":true,"temperaturemaxthreshold":null,"temperatureminthreshold":null,"volume":null},"ep":1,"etag":"9925f50203e05066ee56c056463c6ad1","lastannounced":"2021-11-19T17:59:12Z","lastseen":"2021-11-20T19:08Z","manufacturername":"_TZE200_d0yu2xgi","modelid":"TS0601","name":"Alarm 11","state":{"alarm":false,"lastupdated":"none"},"type":"ZHAAlarm","uniqueid":"5c:02:72:ff:fe:ce:bb:a0-01-0500"}

Den Wert für Alarm würde ich gerne bei den Readings sehen.
Weiter vorne in diesem Thread habe ich gesehen, dass das grundsätzlich über eine zusätzliche Reading-Definition in der 31_HUEDevice.pm möglich ist.

Also habe ich dort folgende Zeile ergänzt und fhem neu gestartet:

$readings{alarm} = $state->{alarm}?'true':'false' if( defined($state->{alarm}) );
Leider hat sich bei den Readings nichts verändert.
Ich frage mich jetzt, ob ich da auf dem richtigen Weg bin oder irgednwo einen Denkfehler habe oder etas übersehen habe.
Kann mich da bitte jemand in die richtige Richtung schubsen?

LG
Eddi

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 27922
Antw:deconz push api (offiziell)
« Antwort #143 am: 20 November 2021, 20:29:08 »
Hallo Eddi,

Versuche mal

$readings{alarm} = $state->{alarm} if ( defined($state->{alarm}) );

Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Mein Dokuwiki:
https://www.cooltux.net

Offline 0815eddi

  • New Member
  • *
  • Beiträge: 4
Antw:deconz push api (offiziell)
« Antwort #144 am: 20 November 2021, 20:47:10 »
Hallo CoolTux

Danke für den Tipp.

Ich glaube die Variante hatte ich auch schon mal probiert.
Habs jetzt aber so wie von dir vorgeschlagen eingetragen - leider ohne Erfolg.
Muss ich außer FHEM restarten sonst noch irgendwas machen oder müsste die Änderung dann sofort ziehen?

Eddi

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 27922
Antw:deconz push api (offiziell)
« Antwort #145 am: 20 November 2021, 21:23:50 »
Nur neustarten. Musst aber auf die Zeilen achten. Aktuell wäre der Eintrag gut so ab Zeile 1629 auf gehoben

      $readings{water} = $state->{water} if( defined($state->{water}) );
      $readings{fire} = $state->{fire} if( defined($state->{fire}) );
      $readings{tampered} = $state->{tampered} if( defined($state->{tampered}) );
      $readings{battery} = $state->{battery} if( defined($state->{battery}) );
      $readings{batteryPercent} = $state->{battery} if( defined($state->{battery}) );
      $readings{alarm} = $state->{alarm} if( defined($state->{alarm}) );    <-------------------------------------------------------
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Mein Dokuwiki:
https://www.cooltux.net

Offline 0815eddi

  • New Member
  • *
  • Beiträge: 4
Antw:deconz push api (offiziell)
« Antwort #146 am: 20 November 2021, 21:53:30 »
Habs jetzt wie vorgeschlagen platziert:

$readings{water} = $state->{water} if( defined($state->{water}) );
      $readings{fire} = $state->{fire} if( defined($state->{fire}) );
      $readings{tampered} = $state->{tampered} if( defined($state->{tampered}) );
      $readings{battery} = $state->{battery} if( defined($state->{battery}) );
      $readings{batteryPercent} = $state->{battery} if( defined($state->{battery}) );
      $readings{alarm} = $state->{alarm} if ( defined($state->{alarm}) );
      $readings{batteryState} = $state->{lowbattery}?'low':'ok' if( defined($state->{lowbattery}) );

Leider ohne Erfolg.
Testweise hab ich es auch unter batteryState geschoben - aber gleiches Ergebnis.

Kann man über einen höheren verbose-Level (dann vermutlich bei der HueBridge?)  da irgendwas mitlesen. Welcher Level wäre dann sinnvoll?

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21283
Antw:deconz push api (offiziell)
« Antwort #147 am: 21 November 2021, 12:46:49 »
ich habe alarm hinzugefügt. ist ab morgen im update.

aber so lange lastupdated auf none steht gibt es noch kein reading und es wird nichts angezeigt. sobald es das erste mal einen alarm gab sollte das reading auch angelegt werden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, …

https://github.com/sponsors/justme-1968
Informativ Informativ x 1 Liste anzeigen

Offline 0815eddi

  • New Member
  • *
  • Beiträge: 4
Antw:deconz push api (offiziell)
« Antwort #148 am: 22 November 2021, 21:37:17 »
Hallo justme

Zitat
ich habe alarm hinzugefügt. ist ab morgen im update.

aber so lange lastupdated auf none steht gibt es noch kein reading und es wird nichts angezeigt. sobald es das erste mal einen alarm gab sollte das reading auch angelegt werden.

Danke für die schnelle Unterstützung und Umsetzung!

Es hat zwar etwas gedauert und ich weiß noch nicht ganz genau welcher Aufruf der API jetzt dazu geführt hat, aber nach mehreren Fehlversuchen war pötzlich das Reading da:

Readings
IODev deCONZ 2021-11-22 18:32:02
alarm 0 2021-11-22 21:26:47
reachable 1 2021-11-22 21:26:48

Ich bin zwar noch nicht so sicher, wie ich jetzt über FHEM einen Alarm auslösen kann (das ist ja am Ende das Ziel), aber damit beschäftige ich mich dann ab morgen.

Eddi


 

decade-submarginal