Ich wollte an dieser Stelle nochmal meine Lösung teilen, die schon unterm anderem Betreff hier gepostet wurde: https://forum.fhem.de/index.php?topic=139885.0
Es geht hierbei um die Möglichkeit FHEM als AlarmServer für einige günstige China IPCAMs einzurichten.
Ich verwendet es dazu um die Personenerkennung (Human Detect) als verbesserten Bewegungsmelder für meinen Hauseingang zu triggern.
Bei vielen dieser Kameras kann man unter den Netzwerkdiensten einen Alarmserver einrichten. Dieser sendet einfach ein JSON (mit einem binären Header) an einen TCP Port sobald ein Event (eben z.B. Human Detected) auftritt.
Mit dem leicht angepassten JsonMod aus obigen Thread (Ergänzung um einen Servermode und ignorieren des binären Mülls am Anfang), definiert man einfach
defmod HumanDetect JsonMod 15002 global
attr HumanDetect readingList complete()
In der Kamera definiert man FHEM mit Port 15002 als AlarmServer.
Man bekommt dann folgende Readings:
READINGS:
2025-01-13 19:56:09 Address 0xA701A8C0
2025-01-13 19:56:09 Channel 0
2025-01-13 19:56:09 Descrip
2025-01-13 19:56:09 Event HumanDetect
2025-01-13 19:56:09 SerialID 62d0233832c19556
2025-01-13 19:56:09 StartTime 2025-01-13 19:56:18
2025-01-13 19:56:09 Status Stop
2025-01-13 19:56:09 Type Alarm
2025-01-13 18:07:05 state Initialized
Ich habe mir da einfach ein DOIF definiert:
([HumanDetect:Event] eq "HumanDetect" and [HumanDetect:Status] eq "Start")
und schalte dann mit einem "wait" (und resetwait) die Lampe für ein paar Minuten an.
Endlich geht meine Lampe nicht mehr bei jedem vorbefahrenden Auto oder Fussgänger auf der Strasse an, sondern nur wenn ein Mensch in den Erfassungsbereich der Kameras (auf dem Grundstück) kommt.