Vraag


  • Zilverdael80
  • Registratie: December 2006
  • Laatst online: 12:12
Sinds enige tijd ben ik de blijde eigenaar van een heuse video deurbel.
De review hiervoor is nog in de maak

Wat voor mij echter een hele zware dealbreaker is bij dit apparaat dat er klaarblijkelijk geen Google Home integratie is. Dit staat wel bij de specs, maar blijkt enkel en alleen om handmatig de deurbel te streamen naar een google apparaat.

Wat ik van een dergelijk apparaat had verwacht was als iemand op de knop drukt, mijn home speakers netjes zeggen dat er iemand voor de deur staat.
De mechanische gong is dusdanig zwak dat hij amper tot in de woonkamer rijkt

Echter ben ik niet 24/7 thuis voor meldingen op mijn mobiel... Soms is er oppas voor de kids, die moeten de bel ook kunnen horen in heel het huis.

Op dit moment gebruik ik een Action-a-like draadloze deurbel met 2 220v gongs, werkt best prima.

Mijn doel:
De Foscam VD1 naast de deur hebben en wanneer iemand op de knop drukt, de gong gaat en mijn google home speakers melding maken (op welke manier dan ook) dat er iemand voor de deur staat.

Dit leek mij werkbaar middels Home Assistant. Deze heb ik via een Docker install op mijn Synology NAS gezet. Installatie ging gemakkelijker dan gedacht.

Daarin heb ik om te testen een 'button' gemaakt die de melding via de home speaker uitspreekt, dit werkt prima.

Echter is er geen knop ondersteuning in de Foscam entiteit van Home Assistant en lijkt ook bewegingsdetectie niet te werken.
Via de VMS software heb ik een alarm URL kunnen instellen (zie screenshot), via Home Assistant een webhook en klaar zou je denken... Nee dus. De webhook spuugt een error in de log (wordt dus wel getriggerd) van een foute HTTP header. (zie code)
Afbeeldingslocatie: https://tweakers.net/i/Oxi0U8hcVDlrUWphtDjoWqQJ5Kk=/800x/filters:strip_exif()/f/image/P4rkXh8VB4A0MrCz9n0A1Fup.png?f=fotoalbum_large
code:
1
2
3
4
5
6
2021-07-26 17:26:22 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/aiohttp/web_protocol.py", line 314, in data_received
messages, upgraded, tail = self._request_parser.feed_data(data)
File "aiohttp/_http_parser.pyx", line 546, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadHttpMessage: 400, message='invalid character in header'


Nu stuit ik toch een beetje op een muur ... Wat kan ik nog meer ondernemen om dit werkend te krijgen ?
(andere out-of-the-box oplossingen die niets met home assistant te maken hebben zijn ook welkom, home assistant heb ik puur voor dit doel geinstalleerd maar is voor mij en mijn gezin te gecompliceerd om echt volledig te gebruiken)

Beste antwoord (via Zilverdael80 op 02-09-2021 16:01)


  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

er is een update voor de vms software en de VD1

onder detector --> alarm

Afbeeldingslocatie: https://i.imgur.com/mlLXPo9.png

de firmware moet echter nog wel een aanpassing krijgen omdat je nu een "get" doet ipv een "post" en daar werken webhooks nog niet echt mee..

Tja vanalles

Alle reacties


Acties:
  • Beste antwoord

  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

er is een update voor de vms software en de VD1

onder detector --> alarm

Afbeeldingslocatie: https://i.imgur.com/mlLXPo9.png

de firmware moet echter nog wel een aanpassing krijgen omdat je nu een "get" doet ipv een "post" en daar werken webhooks nog niet echt mee..

Tja vanalles


  • vso
  • Registratie: Augustus 2001
  • Niet online

vso

tja...

PisPix schreef op maandag 20 september 2021 @ 13:34:
Nu even wachten op een firmware update zodat er een POST gedaan wordt ipv GET. Ik wil Home Assistant zo instellen dat ik via het telegram bot een snapshot krijg zodra er een gezicht gedetecteerd is of iemand op de bel drukt.
ik krijg in HA een melding + plaatje toegestuurt .. (Work In progress)

moment dat er de deurbel ingedrukt word kan je via de VMS software een link sturen (kan ook via node-red maar niet via android app zover ik weet)

Afbeeldingslocatie: https://i.imgur.com/mlLXPo9.png

maar ik heb een tijdelijke work around gemaakt

in het bovenstaande plaatje doe je de port :8123 wijzigen naar :8888

in HA--> node-red
in mijn geval is flow.IpaddrFoscamNotSecure = "192.168.x.x:88" (secure = :443 maar ook deze werkt niet wegens verlopen certificaat inde firmware)
node-red nodes .. zet GET om naar POST + snapshot (loop onderstaande flow door)
JavaScript:
1
2
 
[{"id":"2ac022dd2a86c5a4","type":"tcp in","z":"c64b6cebb3bfd4a0","name":"listen:8888","server":"server","host":"","port":"8888","datamode":"stream","datatype":"buffer","newline":",","topic":"","base64":false,"x":120,"y":1120,"wires":[["4eab2306076fe314","89e6526c52e01e08"]]},{"id":"4eab2306076fe314","type":"function","z":"c64b6cebb3bfd4a0","name":"hex2string","func":"msg.payload = Buffer.from(msg.payload,\"hex\").toString()\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":330,"y":1120,"wires":[["5c3b814d9f7ed1a3","b747de1ee1eb33cc","7c6cb1b00acc17df"]]},{"id":"89e6526c52e01e08","type":"template","z":"c64b6cebb3bfd4a0","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{{payload}} !","output":"json","x":300,"y":1220,"wires":[["c42c07132566fd78"]]},{"id":"c42c07132566fd78","type":"debug","z":"c64b6cebb3bfd4a0","name":"output","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":450,"y":1220,"wires":[]},{"id":"5c3b814d9f7ed1a3","type":"tcp out","z":"c64b6cebb3bfd4a0","host":"","port":"","beserver":"reply","base64":false,"end":false,"name":"http/1.1","x":480,"y":1140,"wires":[]},{"id":"b747de1ee1eb33cc","type":"debug","z":"c64b6cebb3bfd4a0","name":"url","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":450,"y":1060,"wires":[]},{"id":"7c6cb1b00acc17df","type":"function","z":"c64b6cebb3bfd4a0","name":"","func":"if (msg.payload.match(/(VD1Buttonpressed)/)) {\n    msg.url = \"http://homeassistant.fritz.box:8123/api/webhook/VD1Buttonpressed\"\n    }\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":700,"y":1120,"wires":[["0c30e7c1ad1f76f3","fc991a81cb0d720e"]]},{"id":"0c30e7c1ad1f76f3","type":"http request","z":"c64b6cebb3bfd4a0","name":"post","method":"POST","ret":"bin","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":870,"y":1120,"wires":[["ce181bd1eef71aad"]]},{"id":"ce181bd1eef71aad","type":"debug","z":"c64b6cebb3bfd4a0","name":"homeassistant return","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1040,"y":1120,"wires":[]},{"id":"f5765c6fcbb31a59","type":"inject","z":"c64b6cebb3bfd4a0","name":"test","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"\"VD1Buttonpressed\"","payloadType":"str","x":660,"y":1200,"wires":[["7c6cb1b00acc17df"]]},{"id":"fc991a81cb0d720e","type":"function","z":"c64b6cebb3bfd4a0","name":"request snapshot","func":"msg.url =\n    \"http://\" +\n        // comment out 1 or the other \n        // flow.get(\"IpaddrFoscamNotSecure\") +\n        // flow.get(\"IpaddrFoscamSecure\") +\n        // example \n        flow.get(\"IpaddrFoscamNotSecure\") +\n    \"/cgi-bin/CGIProxy.fcgi?cmd=snapPicture\" +\n    \"&usr=\" + flow.get(\"username\") +\n    \"&pwd=\" + flow.get(\"passwd\")\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":290,"y":1280,"wires":[["b9ef7a3d5983c674"]]},{"id":"b9ef7a3d5983c674","type":"http request","z":"c64b6cebb3bfd4a0","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":490,"y":1280,"wires":[["f8814fbe17b07ca8"]]},{"id":"e8c845cfe6d8abbe","type":"file","z":"c64b6cebb3bfd4a0","name":"deurbelsnapshot","filename":"/config/www/Deurbelplaatje.jpg","appendNewline":false,"createDir":false,"overwriteFile":"true","encoding":"none","x":610,"y":1380,"wires":[["d2c2a84ccb9a1d0d"]]},{"id":"d2c2a84ccb9a1d0d","type":"debug","z":"c64b6cebb3bfd4a0","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":850,"y":1380,"wires":[]},{"id":"9ebbddb08d47567f","type":"inject","z":"c64b6cebb3bfd4a0","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":110,"y":1320,"wires":[["fc991a81cb0d720e"]]},{"id":"f8814fbe17b07ca8","type":"change","z":"c64b6cebb3bfd4a0","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"<html><body><img src=\"..","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"\"/></body></html>","fromt":"str","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":1280,"wires":[["7c1ef8e757cf0d74"]]},{"id":"7c1ef8e757cf0d74","type":"function","z":"c64b6cebb3bfd4a0","name":"","func":"msg.url =\n    \"http://\" +\n        // comment out 1 or the other \n        // flow.get(\"IpaddrFoscamNotSecure\") +\n        // flow.get(\"IpaddrFoscamSecure\") +\n        // example \n        flow.get(\"IpaddrFoscamNotSecure\") + msg.payload\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":240,"y":1380,"wires":[["61b8d6b31f0ee315"]]},{"id":"61b8d6b31f0ee315","type":"http request","z":"c64b6cebb3bfd4a0","name":"snapshot","method":"GET","ret":"bin","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":400,"y":1380,"wires":[["e8c845cfe6d8abbe"]]}]

deze node-red flow die je kan importeren, bevat 2 testjes ..
"test" --> Test de flow met HA van a-z alsof de deurbel is ingedruk
"timestamp" --> Stuurt alleen een snapshot vanuit de camera om je pic-upload te testen.


in HA

lovelace card
YAML:
1
2
3
4
5
6
type: picture-entity
image: http://homeassistant.fritz.box:8123/local/Deurbelplaatje.jpg
entity: camera.local_file
name: Wie belde er het laatst aan
show_state: false
show_name: true


via automation(s)
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 id: '1630072237751'
  alias: foscam VD1 deurbel
  description: ''
  trigger:
  - platform: webhook
    webhook_id: VD1Buttonpressed
  condition: []
  action:
  - service: persistent_notification.create
    data:
      message: iemand staat bij de deur
      title: deurbel is ingedrukt
  - service: notify.mobile_app_<telefoon ontvanger>
    data:
      message: iemand staat bij de deur
      title: deurbel is ingedrukt
      data:
        ttl: 0
        priority: high


de zaken relevant in configuration.yaml
YAML:
1
2
3
4
5
mobile_app:

camera:
  - platform: local_file
    file_path: /config/www/Deurbelplaatje.jpg


Dit werkt voor mij nu , ik ben nog aan het testen en tweaken vandaar WIP

Sinds de laatste firmware update btw schiet die foscam constant motion detection triggers daar baal ik wel van denk dat ik overschakel naar Synology Survailence Station

btw merk wel dat als je het internet verkeer van de foscam blokkeert hij iets sneller met HA communiceert

Tja vanalles

Pagina: 1