HUEBridge push api unterstützung

Begonnen von justme1968, 15 Juli 2021, 11:13:19

Vorheriges Thema - Nächstes Thema

MichaelT

Hallo justme1968,

danke für deine Erweiterung. Habe den Stand von gestern bei mir am Laufen. Ohne Probleme!

Werde mir morgen den neusten Stand über Update holen.

Klasse.

Gruß Michael
Großes Mischmasch aus HM, Philips, WLAN und Eigenprojekte.
ABER alles mit FHEM.

justme1968

@stera: die meldung sollte in der eingecheckten version nur ein mal erscheinen.

ich habe keine ahnung warum es bei dir plötzlich geht. wie gesagt gehen alle verbindungen von fhem aus und das sollte selbst mit docker immer gehen. da es bei dir auch mit manuellem reconnect nicht ging war es nicht das gleiche problem wie bei knorxi aber eventuell wurden die daten durch docker auf dem socket so unglücklich gestückelt das es ohne die httputils änderung garnicht ging.


hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Jamo

Hallo Justme,
nach dem heutigen update, kommen bei mir für die 3 HueDimmer, die ich habe, sporadisch folgende Events, obwohl ich keinen Knopf gedrückt habe:
Es kommt immer die 3002, andere Events nicht.
[myHueDimmer] Name=HueDimmer1_Kueche, EVENT=3002, Room=Kueche

Internals:
   DEF        172.21.0.33
   EventStream connected
   FUUID      5c42ee42-f33f-97bf-156f-3d2ea75368dbc5c7
   FVERSION   30_HUEBridge.pm:0.255060/2022-01-19
   INTERVAL   60
   NAME       PhilipsHue
   NOTIFYDEV  global
   NR         2146
   NTFY_ORDER 50-PhilipsHue
   STATE      connected
   TYPE       HUEBridge
   apiversion 1.48.0
   bridgeid   12345678
   has_v2_api 1
   host       MEI.NE.IP.AD
   mac        00:17:88:25:3f:fa
   manufacturer Signify
   modelName  Philips hue bridge 2015
   modelid    BSB002
   name       Philips Hue
   swversion  1948086000
   updatestate 0
   zigbeechannel 15
   READINGS:
     2021-06-09 15:48:24   alert           none
     2022-01-19 23:22:51   lastError       parameter, xy, is not modifiable. Device is set to off.
     2021-06-09 15:51:50   onoff           0
     2021-06-09 15:51:50   pct             0
     2021-06-09 15:48:24   reachable       1
     2022-01-20 09:13:14   state           connected
     2021-09-18 21:37:25   swupdate        ZGB_100B_010F - LedStrips-SAMR21 - 16.0
   helper:
     apiversion 77824
     count      0
     last_config_timestamp 1642666394
     offsetUTC  3600
     updatestate 0
     HTTP_CONNECTION:
       EventSource 1
       FD         12
       NAME       
       addr       https://MEI.NE.IP.AD:443
       auth       0
       buf       

       compress   1
       displayurl https://MEI.NE.IP.AD/eventstream/clip/v2
       header     Last-Event-ID: 1642651718:0
Accept: text/event-stream
HUE-Application-Key: 12345
       host       MEI.NE.IP.AD
       httpdata   
       httpdatalen -1
       httpheader HTTP/1.1 200 OK
Server: nginx
Date: Thu, 20 Jan 2022 05:08:38 GMT
Content-Type: text/event-stream; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Content-Security-Policy: default-src 'self'
Cache-Control: no-store
Pragma: no-cache
Referrer-Policy: no-referrer
       httpversion 1.1
       hu_blocking 0
       hu_inProgress  HUEBridge_openEventStream:2204 HUEBridge_dispatch:110 HttpUtils_TimeoutErr:3428 HandleTimeout:696
       hu_port    443
       hu_portSfx
       hu_sslAdded 1
       incrementalTimeout 1
       keepalive  1
       lastID     1642666387:0
       loglevel   4
       method     GET
       noshutdown 1
       path       /eventstream/clip/v2
       protocol   https
       redirects  0
       timeout    3600
       type       event
       url        https://MEI.NE.IP.AD/eventstream/clip/v2
       hash:
       sslargs:
     groups:
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

justme1968

könnte es sein das ein button klemmt? bitte schau mal mit verbose 4 ins log und zeig was genau für ein event von der bridge kommt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Jamo

Nein, ein Button klemmt definitiv nicht, die Events sind erst nach update auf die neue version gekommen.
Ich habe jetzt erstmal die "interval" definition aus der DEF der HueDimmer rausgenommen, ich schau mal ob das die Ursache ist.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

justme1968

wenn du die aktuelle version aus dem update heute verwendest werden die intervalle automatisch deaktiviert sobald der eventstream steht. das sollte so auch im log stehen.

wie gesagt wäre es hilfreich die nakten bridge events aus dem log zu sehen.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Violinux

#81
aktuelle Version geht soweit ich feststellen kann prima, bis auf eine Warnung aus der Deconz Version "2.13.4"
Vielleicht ist das u.U. noch zu beheben.

2022.01.20 10:11:18 1: PERL WARNING: Argument "2.13.4" isn't numeric in numeric ge (>=) at ./FHEM/30_HUEBridge.pm line 483.
2022.01.20 10:11:18 1: stacktrace:
2022.01.20 10:11:18 1:     main::__ANON__                      called by ./FHEM/30_HUEBridge.pm (483)
2022.01.20 10:11:18 1:     main::HUEBridge_fillBridgeInfo      called by ./FHEM/30_HUEBridge.pm (552)
2022.01.20 10:11:18 1:     main::HUEBridge_OpenDev             called by ./FHEM/30_HUEBridge.pm (321)
2022.01.20 10:11:18 1:     main::HUEBridge_Notify              called by fhem.pl (3896)
2022.01.20 10:11:18 1:     main::CallFn                        called by fhem.pl (3813)
2022.01.20 10:11:18 1:     main::DoTrigger                     called by fhem.pl (677)
2022.01.20 10:11:25 1: PERL WARNING: Argument "2.13.4" isn't numeric in numeric ge (>=) at ./FHEM/30_HUEBridge.pm line 483.
2022.01.20 10:11:25 1: stacktrace:
2022.01.20 10:11:25 1:     main::__ANON__                      called by ./FHEM/30_HUEBridge.pm (483)
2022.01.20 10:11:25 1:     main::HUEBridge_fillBridgeInfo      called by ./FHEM/30_HUEBridge.pm (1717)
2022.01.20 10:11:25 1:     main::HUEBridge_Parse               called by ./FHEM/30_HUEBridge.pm (2466)
2022.01.20 10:11:25 1:     main::HUEBridge_dispatch            called by FHEM/HttpUtils.pm (647)
2022.01.20 10:11:25 1:     main::__ANON__                      called by fhem.pl (771)

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Jamo

Zitatbitte schau mal mit verbose 4 ins log und zeig was genau für ein event von der bridge kommt.

Ich habe gesehen, ratman hat unter dem Thread [22.01.22] hue switch schaltet von selber  dasselbe problem. Hier mein Log 4, das event kommt unter: 2022.01.20 13:10:20 3: [myHueDimmer] Name=HueDimmer1_Schlaf, EVENT=3002, Room=Schlaf
2022.01.20 13:09:20 4: PhilipsHue: message for unknown sensor received: PhilipsHue-S1
2022.01.20 13:09:20 4: PhilipsHue: message for unknown sensor received: PhilipsHue-S5
2022.01.20 13:09:20 4: PhilipsHue: message for unknown sensor received: PhilipsHue-S8
2022.01.20 13:09:20 3: PhilipsHue: message for unknown device received: PhilipsHue-51
2022.01.20 13:09:20 3: PhilipsHue: message for unknown device received: PhilipsHue-52
2022.01.20 13:09:59 4: PhilipsHue: dispatch
2022.01.20 13:09:59 4: name: EventStream: connected
2022.01.20 13:09:59 4: PhilipsHue: received: [
  {
    'data' => [
                {
                  'type' => 'device_power',
                  'id' => '66214ac8-9e14-49c6-8cc5-fc2f9335cb35',
                  'id_v1' => '/sensors/6',
                  'owner' => {
                               'rid' => '177ed269-21fd-4926-a6b7-9105566e7416',
                               'rtype' => 'device'
                             },
                  'power_state' => {
                                     'battery_state' => 'normal',
                                     'battery_level' => 70
                                   }
                }
              ],
    'id' => 'ebe32606-3dc2-4121-a952-c676b17a440a',
    'creationtime' => '2022-01-20T12:09:59Z',
    'type' => 'update'
  }
]

2022.01.20 13:09:59 4: PhilipsHue: got update event
2022.01.20 13:09:59 4: PhilipsHue: created from event: {
  'v2_service' => '66214ac8-9e14-49c6-8cc5-fc2f9335cb35',
  'v2_id' => '177ed269-21fd-4926-a6b7-9105566e7416',
  'state' => {
               'lastupdated' => '2022-01-20T12:09:59'
             }
}

2022.01.20 13:10:20 4: using HttpUtils_NonblockingGet: GET
2022.01.20 13:10:20 4: PhilipsHue: dispatch
2022.01.20 13:10:20 4: PhilipsHue: parse status message
2022.01.20 13:10:20 4: PhilipsHue: message for unknown sensor received: PhilipsHue-S1
2022.01.20 13:10:20 4: PhilipsHue: message for unknown sensor received: PhilipsHue-S5
2022.01.20 13:10:20 3: [myHueDimmer] Name=HueDimmer1_Schlaf, EVENT=3002, Room=Schlaf
2022.01.20 13:10:20 4: PhilipsHue: message for unknown sensor received: PhilipsHue-S8
2022.01.20 13:10:20 3: PhilipsHue: message for unknown device received: PhilipsHue-52
2022.01.20 13:10:20 3: PhilipsHue: message for unknown device received: PhilipsHue-51
2022.01.20 13:11:20 4: using HttpUtils_NonblockingGet: GET
2022.01.20 13:11:20 4: PhilipsHue: dispatch
2022.01.20 13:11:20 4: PhilipsHue: parse status message
2022.01.20 13:11:20 4: PhilipsHue: message for unknown sensor received: PhilipsHue-S8
2022.01.20 13:11:20 4: PhilipsHue: message for unknown sensor received: PhilipsHue-S5
2022.01.20 13:11:20 4: PhilipsHue: message for unknown sensor received: PhilipsHue-S1
2022.01.20 13:11:20 3: PhilipsHue: message for unknown device received: PhilipsHue-52
2022.01.20 13:11:20 3: PhilipsHue: message for unknown device received: PhilipsHue-51
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

justme1968

laut log sendet tatsächlich die bridge ein event.

kommt bei jedem mal ein echtes event von der bridge? ändert sich lastupdated?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Jamo

#85
Echtes event von der Bridge, in dem Sinne, das ich das HueDimmer Event im Eventmonitor sehe, und dass das notify darauf reagiert.
Bei mir sind wie bei Ratman auf einmal wundersame Sachen passiert, die ich mir nicht erklären konnte, bis ich drauf gekommen bin, das es von den Dimmer Events kommt.

Last updated ändert sich nicht (timestamp ist also noch von gestern, der Auszug aus dem log ist ja von heute):
Und ja, ich hatte mir gestern schon die neue version aus dem svn gezogen.

Internals:
   DEF        sensor 6  IODev=PhilipsHue
   FUUID      5c42ee43-f33f-97bf-71d8-09f4178d739ba478
   FVERSION   31_HUEDevice.pm:0.255060/2022-01-19
   ID         S6
   INTERVAL   
   IODev      PhilipsHue
   NAME       HueDimmer1_Schlaf
   NR         2203
   STATE      3002
   TYPE       HUEDevice
   has_v2_api 1
   inputs     4
   lastupdated 2022-01-19 18:16:00
   lastupdated_local 2022-01-19 19:16:00
   manufacturername Signify Netherlands B.V.
   modelid    RWL021
   name       HueDimmerSchlaf1
   on         1
   productname Hue dimmer switch
   reachable  1
   swversion  6.1.1.28573
   type       ZLLSwitch
   uniqueid   00:17:88:01:03:a5:8a:65-02-fc00
   v2_id      177ed269-21fd-4926-a6b7-9105566e7416
   READINGS:
     2021-02-04 10:33:41   BatterieWechsel 01.6.2020
     2022-01-20 09:31:16   IODev           PhilipsHue
     2022-01-19 19:16:00   battery         69
     2022-01-19 19:16:00   batteryPercent  69
     2022-01-19 19:16:00   reachable       1
     2022-01-19 19:16:00   state           3002
   helper:
     devtype    S
     reachable  0
     update_timeout 1
     capabilities:
       inputs:
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

justme1968

die creationtime im event (2022-01-20T12:09:59Z) ist aber von heute gerade eben.

es gibt also zwei fragen: warum sendet die bridge das event überhaupt, und warum haben trozdem lastupdated und lastupdated_local in den internals noch den wert von gestern...
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

mit echt meinte ich das die bridge einevent im event stream sendet. das ist noch kein event im fhem sinne.

es gibt drei 'events':
- das was die bridge sendet (steht im log hinter received:)
- das was das bridge modul daraus macht und ans device modul weiter gibt (steht im log hinter created from event)
- das was fhem erzeugt sobald sich ein reading ändert (nur das kann man im event monitor sehen)


wie kannst du ein event im eventmonitor sehen wenn das reading garnicht geändert wird?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

knorxi

Der Hue-Bewegungsmelder hat einen "Zustandssensor" (HueMotionSensorState).
Ich habe ein paar Regeln, die den "status" verändern.
Leider wird im Eventstream diese Änderung nicht übermittelt (hoffentlich bauen die API-Entwickler das noch ein).
Zumindest habe es mit folgendem Befehl nicht gesehen:
curl --insecure -N -H 'hue-application-key: <appkey>' -H 'Accept: text/event-stream' https://<ipaddress>/eventstream/clip/v2
In FHEM frage ich daher den Sensor mit INTERVAL alle 10s ab, um auf die Statusänderung reagieren zu können.
Sehe ich das richtig, dass diese Abfrage nun so nicht mehr funktioniert, da das Polling gelöscht wird, wenn der Eventstream aktiv ist?
Falls ja, kannst du vielleicht eine Ausnahme für diese Art von Sensoren einbauen?
Internals:
   DEF        sensor 21 10 IODev=HUEBridge
   FUUID      5c44d944-f33f-8d65-3ce8-b9dc9f937ac3caec
   FVERSION   31_HUEDevice.pm:0.255060/2022-01-19
   ID         S21
   INTERVAL   10
   IODev      HUEBridge
   NAME       HueMotionSensorState
   NR         431
   STATE      0
   TYPE       HUEDevice
   has_v2_api 1
   lastupdated 2022-01-20 15:04:00
   lastupdated_local 2022-01-20 16:04:00
   manufacturername Philips
   modelid    PHA_STATE
   name       MotionSensor 18.Companion
   on         1
   reachable  1
   swversion  1.0
   type       CLIPGenericStatus
   uniqueid   MotionSensor 18.Companion
   READINGS:
     2022-01-20 14:24:22   IODev           HUEBridge
     2022-01-20 16:04:00   reachable       1
     2022-01-20 16:04:00   state           0
   helper:
     devtype    S
     update_timeout 1
     configList:
     json:
       manufacturername Philips
       modelid    PHA_STATE
       name       MotionSensor 18.Companion
       swversion  1.0
       type       CLIPGenericStatus
       uniqueid   MotionSensor 18.Companion
       config:
       state:
         lastupdated 2022-01-20T15:04:00
         status     0
     setList:
Attributes:
   IODev      HUEBridge
   alias      Nachtlicht Zustand
   group      HUESensor
   model      PHA_STATE
   room       HUEDevice

justme1968

#89
das device sollte trozdem alle 60 sekunden über das pollen das in der bridge selber noch aktiv ist ausgelesen werden.

aber ab morgen wird das polling für ein device erst deaktiviert wenn das erste event für dieses device empfangen wurde. vielleicht magst du gleich schon mal testen ob das hilft.

wenn das nicht reicht und es aus irgendeinem grund trozdem manchmal events gibt könnte man überlegen ob man die CLIPGenericStatus sensoren vom deaktivieren ausnimmt. vom autocreate sind sie auch schon ausgenommen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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