test: modul 74_UnifiProtect.pm & 74_UnifiProtectDevice.pm

Begonnen von justme1968, 06 Februar 2022, 11:40:14

Vorheriges Thema - Nächstes Thema

87insane

#120
Hallo zusammen, nachdem ich nun x Seiten durch habe und das Modul mit meiner UDMSE auch am rennen habe, bin ich aktuell auch mit der Doorbell beschäftigt.
Bei mir ist es eine G4 Pro. Ich sehe leider auch mit verbose 5 keine Infos, die hier dienlich sein könnten. Es kommt bei betätigen der Taste an der Schelle nichts in FHEM an.
Kann hier ggf noch etwas anderes helfen? Würde meine Klingel gerne wieder in der Automatisierung haben.

define UnifiProtectDevice_65bf54a501ff2303e4000409 UnifiProtectDevice 65xxxxxxxxxxx
attr UnifiProtectDevice_65bf54a501ff2303e4000409 IODev protect_server
attr UnifiProtectDevice_65bf54a501ff2303e4000409 alias Klingel
attr UnifiProtectDevice_65bf54a501ff2303e4000409 event-on-change-reading .*
attr UnifiProtectDevice_65bf54a501ff2303e4000409 room UnifiSwitch
#   CFGFN     
#   DEF        65bxxxxxxxxxxxxxxxx
#   FUUID      65bf78ab-f33f-33ef-fade-701cbf538394d8b8
#   IODev      protect_server
#   NAME       UnifiProtectDevice_65xxxxxxxxxxxxxxx
#   NR         375
#   STATE      CONNECTED
#   TYPE       UnifiProtectDevice
#   enabledFeatures led
#   eventCount 10
#   featureFlags audioCodecs:[aac,opus] noAdjustIrLedLevel noMagicZoom noOpticalZoom noTouchFocus noAccelerometer hasAec hasAutoICROnly noBattery hasBluetooth hasChime hasColorLcdScreen noExternalIr noFlash hasHdr hasIcrSensitivity hasInfrared hasLcdScreen hasLdc hasLedIr hasLedStatus hasLineCrossing noLineCrossingCounting noLineIn noLiveviewTracking hasMic hasMotionZones hasPackageCamera hasPrivacyMask noRtc noSdCard hasSmartDetect hasSpeaker hasSquareEventThumbnail hasVerticalFlip hasWifi isDoorbell isPtz   motionAlgorithms:[enhanced] smartDetectAudioTypes:[smoke_cmonx,alrmSmoke,alrmCmonx] smartDetectTypes:[person,vehicle,animal,package] videoModeMaxFps:[30,24,30,20] videoModes:[default,homekit,sport,slowShutter]
#   firmwareVersion 4.69.55
#   hardwareRevision 24
#   id         65bf54a501ff2303e4000409
#   ispSettings.aeMode auto
#   mac        E438830B4F82
#   marketName G4 Doorbell Pro
#   micVolume  100
#   model      ring
#   modelKey   camera
#   name       Klingel
#   phyRate    135
#   smartDetectSettings.objectTypes person,vehicle,package,animal
#   type       ring
#   videoMode  default
#   wifiConnectionState.channel 36
#   wifiConnectionState.frequency 5180
#   wifiConnectionState.phyRate 135
#   wifiConnectionState.signalQuality 71
#   wifiConnectionState.signalStrength -79
#   READINGS:
#     2024-02-04 12:44:43   IODev           protect_server
#     2024-02-04 12:44:44   connectedSince  2024-02-04 10:35:50
#     2024-02-04 12:44:44   eventStats.motion.average
#     2024-02-04 12:44:44   eventStats.motion.lastDays
#     2024-02-04 12:44:44   eventStats.motion.recentHours 6
#     2024-02-04 12:44:44   eventStats.motion.today 35
#     2024-02-04 12:44:44   eventStats.smart.average
#     2024-02-04 12:44:44   eventStats.smart.lastDays
#     2024-02-04 12:44:44   eventStats.smart.today
#     2024-02-04 12:44:44   hdrMode         true
#     2024-02-04 12:44:44   irLedMode       auto
#     2024-02-04 12:44:44   isDark         
#     2024-02-04 12:44:44   isRecording    
#     2024-02-04 12:44:44   isSmartDetected
#     2024-02-04 12:44:44   lastMotion      2024-02-04 12:43:53
#     2024-02-04 12:52:55   lastSeen        2024-02-04 12:52:54
#     2024-02-04 12:44:44   micVolume       100
#     2024-02-04 12:44:44   motion          nomotion
#     2024-02-04 12:44:44   recordingMode   never
#     2024-02-04 12:49:52   smartDetectTypes
#     2024-02-04 12:44:44   state           CONNECTED
#     2024-02-04 12:44:44   statusLed       true
#     2024-02-04 12:52:55   upSince         2024-02-04 10:34:57
#     2024-02-04 12:44:44   videoMode       default
#   helper:
#     featureFlags:
#       lensModel 
#       lensType  
#       audio:
#       audioCodecs:
#         aac
#         opus
#       audioStyle:
#       focus:
#         degrees:
#           max       
#           min       
#           step      
#         steps:
#           max       
#           min       
#           step      
#       hotplug:
#         audio     
#         video     
#         extender:
#           hasFlash  
#           hasIR     
#           hasRadar  
#       motionAlgorithms:
#         enhanced
#       mountPositions:
#       pan:
#         degrees:
#           max       
#           min       
#           step      
#         steps:
#           max       
#           min       
#           step      
#       privacyMaskCapability:
#         maxMasks   16
#       smartDetectAudioTypes:
#         smoke_cmonx
#         alrmSmoke
#         alrmCmonx
#       smartDetectTypes:
#         person
#         vehicle
#         animal
#         package
#       tilt:
#         degrees:
#           max       
#           min       
#           step      
#         steps:
#           max       
#           min       
#           step      
#       videoModeMaxFps:
#         30
#         24
#         30
#         20
#       videoModes:
#         default
#         homekit
#         sport
#         slowShutter
#       zoom:
#         ratio      1
#         degrees:
#           max       
#           min       
#           step      
#         steps:
#           max       
#           min       
#           step      
#
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 CONNECTED
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:43 IODev protect_server
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 connectedSince 2024-02-04 10:35:50
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 eventStats.motion.average
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 eventStats.motion.lastDays
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 eventStats.motion.recentHours 6
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 eventStats.motion.today 35
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 eventStats.smart.average
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 eventStats.smart.lastDays
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 eventStats.smart.today
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 hdrMode true
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 irLedMode auto
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 isDark
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 isRecording
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 isSmartDetected
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 lastMotion 2024-02-04 12:43:53
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:52:55 lastSeen 2024-02-04 12:52:54
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 micVolume 100
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 motion nomotion
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 recordingMode never
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:49:52 smartDetectTypes
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 state CONNECTED
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 statusLed true
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:52:55 upSince 2024-02-04 10:34:57
setstate UnifiProtectDevice_65bf54a501ff2303e4000409 2024-02-04 12:44:44 videoMode default

EDIT: Da fällt mir gleich noch auf -> Die G4 Pro hat eine zweite Kamera. Die nenen das Packet Kamera. Diese kann ich mir in der APP ansehen, in FHEM leider nicht.

featureFlags
$VAR1 = {
          'hasSdCard' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
          'hotplug' => {
                         'extender' => {
                                         'hasFlash' => undef,
                                         'hasIR' => undef,
                                         'hasRadar' => undef,
                                         'isAttached' => $VAR1->{'hasSdCard'}
                                       },
                         'standaloneAdoption' => $VAR1->{'hasSdCard'},
                         'video' => undef,
                         'audio' => undef
                       },
          'hasAccelerometer' => $VAR1->{'hasSdCard'},
          'hasSquareEventThumbnail' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
          'hasBluetooth' => $VAR1->{'hasSquareEventThumbnail'},
          'videoModes' => [
                            'default',
                            'homekit',
                            'sport',
                            'slowShutter'
                          ],
          'hasRtc' => $VAR1->{'hasSdCard'},
          'smartDetectAudioTypes' => [
                                       'smoke_cmonx',
                                       'alrmSmoke',
                                       'alrmCmonx'
                                     ],
          'hasLiveviewTracking' => $VAR1->{'hasSdCard'},
          'pan' => {
                     'steps' => {
                                  'min' => undef,
                                  'step' => undef,
                                  'max' => undef
                                },
                     'degrees' => {
                                    'max' => undef,
                                    'step' => undef,
                                    'min' => undef
                                  }
                   },
          'videoModeMaxFps' => [
                                 30,
                                 24,
                                 30,
                                 20
                               ],
          'audioCodecs' => [
                             'aac',
                             'opus'
                           ],
          'lensModel' => undef,
          'tilt' => {
                      'degrees' => {
                                     'step' => undef,
                                     'min' => undef,
                                     'max' => undef
                                   },
                      'steps' => {
                                   'max' => undef,
                                   'min' => undef,
                                   'step' => undef
                                 }
                    },
          'hasBattery' => $VAR1->{'hasSdCard'},
          'canOpticalZoom' => $VAR1->{'hasSdCard'},
          'privacyMaskCapability' => {
                                       'maxMasks' => 16,
                                       'rectangleOnly' => $VAR1->{'hasSdCard'}
                                     },
          'canMagicZoom' => $VAR1->{'hasSdCard'},
          'hasAutoICROnly' => $VAR1->{'hasSquareEventThumbnail'},
          'hasLineIn' => $VAR1->{'hasSdCard'},
          'hasVerticalFlip' => $VAR1->{'hasSquareEventThumbnail'},
          'hasLineCrossingCounting' => $VAR1->{'hasSdCard'},
          'motionAlgorithms' => [
                                  'enhanced'
                                ],
          'hasIcrSensitivity' => $VAR1->{'hasSquareEventThumbnail'},
          'hasMotionZones' => $VAR1->{'hasSquareEventThumbnail'},
          'hasSpeaker' => $VAR1->{'hasSquareEventThumbnail'},
          'hasLedStatus' => $VAR1->{'hasSquareEventThumbnail'},
          'lensType' => undef,
          'hasLedIr' => $VAR1->{'hasSquareEventThumbnail'},
          'audioStyle' => [],
          'smartDetectTypes' => [
                                  'person',
                                  'vehicle',
                                  'animal',
                                  'package'
                                ],
          'hasMic' => $VAR1->{'hasSquareEventThumbnail'},
          'canAdjustIrLedLevel' => $VAR1->{'hasSdCard'},
          'hasInfrared' => $VAR1->{'hasSquareEventThumbnail'},
          'hasLineCrossing' => $VAR1->{'hasSquareEventThumbnail'},
          'isDoorbell' => $VAR1->{'hasSquareEventThumbnail'},
          'canTouchFocus' => $VAR1->{'hasSdCard'},
          'focus' => {
                       'steps' => {
                                    'min' => undef,
                                    'step' => undef,
                                    'max' => undef
                                  },
                       'degrees' => {
                                      'step' => undef,
                                      'min' => undef,
                                      'max' => undef
                                    }
                     },
          'zoom' => {
                      'degrees' => {
                                     'min' => undef,
                                     'step' => undef,
                                     'max' => undef
                                   },
                      'steps' => {
                                   'max' => undef,
                                   'step' => undef,
                                   'min' => undef
                                 },
                      'ratio' => 1
                    },
          'hasAec' => $VAR1->{'hasSquareEventThumbnail'},
          'hasChime' => $VAR1->{'hasSquareEventThumbnail'},
          'hasPackageCamera' => $VAR1->{'hasSquareEventThumbnail'},
          'hasSmartDetect' => $VAR1->{'hasSquareEventThumbnail'},
          'hasHdr' => $VAR1->{'hasSquareEventThumbnail'},
          'hasPrivacyMask' => $VAR1->{'hasSquareEventThumbnail'},
          'mountPositions' => [],
          'hasExternalIr' => $VAR1->{'hasSdCard'},
          'hasFlash' => $VAR1->{'hasSdCard'},
          'hasLdc' => $VAR1->{'hasSquareEventThumbnail'},
          'isPtz' => $VAR1->{'hasSdCard'},
          'hasColorLcdScreen' => $VAR1->{'hasSquareEventThumbnail'},
          'hasLcdScreen' => $VAR1->{'hasSquareEventThumbnail'},
          'audio' => [],
          'hasWifi' => $VAR1->{'hasSquareEventThumbnail'}
        };

Gruß,
87Insane

Ralli

Zitat von: 87insane am 04 Februar 2024, 12:55:13[...]

Bei mir ist es eine G4 Pro. Ich sehe leider auch mit verbose 5 keine Infos, die hier dienlich sein könnten. Es kommt bei betätigen der Taste an der Schelle nichts in FHEM an.

[...]

Nichts im Log und auch nichts im Eventmonitor?
Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240601) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa

87insane

#122
Hey Ralli,

ich hatte das Eventlog mit Logfile aktiv. Habe es aber eben auch nochmal nachkontrolliert und es ist nichts zu finden.
Spannend finde ich, dass es wohl via Homekit funktionieren soll. Dafür aber extra Homekit bereit stellen, wollte ich eigentlich nicht.

Ich weiß nicht wie komplex das Thema ist aber es wäre auch nice to have, das Farbdisplay ansprechen zu können. Dort kann man kurze Text Nachrichten hinterlegen.

Gibt es ggf. noch einen anderen Weg hier zu helfen um die benötigten Infos zu bekommen? Ich bin gerne bereit zu unterstützen, immerhin möchte ich ja auch das Modul nutzen.

PS: Wird das Modul nicht mehr offiziell ins SVN geschoben? Ich musste echt lange suchen um eine lauffähige Version zu finden. Und Doku dazu ist noch weniger vorhanden ....

Ralli

Da werde ich dir leider nicht helfen können. Ich bin nicht der Autor des Moduls sondern nur ein Anwender. Ich habe es für meine Installation wieder lauffähig gepatched, noch kleine Verbesserungen eingebaut und das der Allgemeinheit wieder zur Verfügung gestellt. Meines Erachtens ist das Modul verwaist, deswegen auch keine Änderungen mehr im SVN.

Wenn keine Daten im Event monitor kommen und auch bei Verbose 5 keine im Log zu finden sind, so kann ich nirgends ansetzen.

Mein Tipp: es gibt für ioBroker ein Modul für Protect, ggf. ist dort die G4 Doorbell besser abgebildet. Dann könntest du dort den Code analysieren und bei dir mit Try and Error für FHEM im Modul nachbauen.
Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240601) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa

87insane

Ich bin leider kein Programmierer... Daher habe ich nun einen Shelly UNI an die Klingel gebaut. Hab nun meinen Knopf :) - Schade das, dass Modul nicht weiter entwickelt wird.

Mitch

Hi Ralli,

bei deiner Version ist mir aufgefallen, dass fhem bei jedem Unifi Protect Update neu startet?

Im log steht nur "Undefined subroutine &main::UnifiProtect_ConnectWebsocket called at fhem.pl line 3508."

Ist jetzt nicht kritisch, weil ja nicht jeden Tag ein Update kommt, aber...
FHEM im Proxmox Container

87insane

Das habe ich tatsächlich nicht...
Bei mir verhält das Modul sich aber auch komisch.

Ich habe eine Verbindung über Tage hinweg. Und dann auf einmal sehe ich keine Bilder mehr. In diesem Moment hilft es wenn ich auf reconnect klicke und alles ist wieder ok. Ich habe nun über drei Monate geloggt aber erkenne nicht warum das passiert.

Das Modul (woher auch immer diese Info kommt), schreibt auch immer wieder "2024-06-01_17:37:24 protect_server CONNECTED" ins LOG. Finde ich nicht dramatisch aber ich würde gerne mal wissen woher das kommt.

Bei mir im Einsatz:
UDM SE
3 x G4 Insnant
1 x G4 doorbell pro

Ralli

Zitat von: Mitch am 06 Juni 2024, 08:53:53bei deiner Version ist mir aufgefallen, dass fhem bei jedem Unifi Protect Update neu startet?
Im log steht nur "Undefined subroutine &main::UnifiProtect_ConnectWebsocket called at fhem.pl line 3508."

Das tritt auch im ungepatchten Modul auf, nicht nur bei einem Update sondern immer dann, wenn Unifi Protect nicht mehr erreichbar ist z.B. durch einen Neustart der App oder der gesamten Konsole. Leider fehlen mir Zeit und das tiefgehende Know-How, um hier als Nicht-Modul-Autor auf Fehlersuche und -behebung zu gehen.
Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240601) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa