Domoticasysteem verzendt momentopname van IP-camera op Telegram-groep wanneer iemand op de deurbel drukt

Een eenvoudige bestaande deurbel ombouwen tot een slimme deurbel met Domoticz

Het doel van dit document is om te illustreren hoe u de Domoticz/Raspberry-controller kunt configureren en verbinden om een momentopname te krijgen in onze Telegram-app wanneer iemand op de deurbel drukt.
De 12Vac die wordt gebruikt om de deurbel of zoemer van stroom te voorzien , is aangesloten op een opto-geïsoleerde ingang op de DomBus23-module . Wanneer de bel/zoemer wordt gevoed, wordt er een trigger naar Domoticz gestuurd die een script activeert om een foto van de IPcam te maken en deze naar een Telegram-kanaal of -groep te sturen . Zo kunnen de gezinsleden de foto op hun smartphones ontvangen zodra iemand op de deurbel drukt .

Bekijk de Engelse versie van deze pagina voor de meest recente versie.

Hardwarevoorbeeld met behulp van een DomBus-module

Een bestaande deurbel ombouwen tot een slimme deurbel met behulp van Domoticz en Creasol DomBus23DomBus23-module voor Domoticz Home Assistant NodeRED ...

DomBus23 heeft veel in- en uitgangen en kan worden gebruikt voor andere functies, zoals het openen van een voetgangerspoort of voordeur (het heeft 2 relaisuitgangen), het beheren van een instapverlichting met ledstrip met dimfunctie (het heeft een 30V 12A mosfet), ....
Als de deurbel 230Vac of 110Vac gebruikt, kunt u de bel/zoemer aansluiten op de opto-geïsoleerde IN3-ingang, die hoge spanningen ondersteunt.

DomBus-modules zijn ontworpen om een zeer laag stroomverbruik te hebben, minder dan 10 mW, en een zeer betrouwbare verbinding te krijgen met de domotica-controller via RS485-bus (eenvoudige afgeschermde kabel met 4 draden, 2 voor data en 2 voor 12V-voeding). Door een 12V-voeding met loodzuur-back-upbatterij te gebruiken, kan het systeem zelfs in geval van stroomuitval blijven werken.

Softwareconfiguratie

We gaan ervan uit dat u Domoticz al op een computer hebt geïnstalleerd, bijvoorbeeld een Raspberry PI of een andere singleboardcomputer, of een PC/Mac.
DomBus-modules worden via een USB/RS485-adapter en een 12V-voeding aangesloten op de domoticacomputer.

Selecteer het IN1-invoerapparaat op het Domoticz Switches-paneel en geef het script op dat moet worden geactiveerd wanneer de deurbel gaat.

domoticz virtuele sensor4

Download de scripts sendsnapshot.sh en telegramSendText.sh van GitHub en plaats ze in de map DOMOTICZ/scripts.
Bewerk deze bestanden om de IPCam- en Telegram-parameters in te stellen.

Momentopname van een Reolink-camera

Schakel de HTTP-service, poort 80, in op uw reolink-camera, maak een gebruiker aan die alleen de camera kan bekijken (noem deze viewer of iets anders) en gebruik de volgende URL om een jpeg-snapshot te downloaden:

http://192.168.XY/cgi-bin/api.cgi?cmd=Snap&channel=0&user=viewer&password=WACHTWOORD'

waarbij 192.168.XY het IP-nummer van de camera is en viewer de naam is van de gebruiker die u hebt aangemaakt met het bijbehorende WACHTWOORD.
Vervang channel=0 door channel=1 als u een dubbele camera hebt, zoals Reolink TrackMix, en u het tweede kanaal wilt zien.

Hoe u een ONVIF-camera kunt raadplegen om de videostream en snapshot-URI te verkrijgen

Sommige slechte Chinese ONVIF IP-cams hebben geen snapshot-URI: heel slecht, maar we kunnen een snapshot genereren van de videostream met behulp van ffmpeg!!

ONVIF is een standaardprotocol om ONVIF IP-camera's te bevragen. U kunt IP-camerakenmerken verkrijgen door een aantal query's te verzenden via het SOAP-systeem.

Een zeer goede tutorial om video- en snapshot-URI van uw ONVIF-camera te detecteren, vindt u op http://me-ol-blog.blogspot.com/2017/07/getting-still-image-urluri-of-ipcam-or.html

Hoe krijg je een Telegram-token en chat_id, nodig om berichten/foto's via Telegram te versturen?

Telegram is een zeer krachtig systeem voor instant messaging, vergelijkbaar met WhatsApp, maar veel beter omdat het open source is, geschikt is voor meerdere platforms (niet alleen voor smartphones... Telegram Desktop werkt op Linux, Mac en Windows!) en zeer aanpasbaar is via de API.

Met de volgende instructies kunt u een foto op Telegram krijgen wanneer iemand op de deurbel drukt.

Hieronder vindt u stapsgewijze instructies voor het maken van een BOT op Telegram en een kanaal waarmee u meldingen naar u en andere mensen kunt sturen:

  1. Uiteraard moet je Telegram op je smartphone geïnstalleerd hebben, en ook Telegram Desktop op je PC/Mac/Linux: je kunt het downloaden van https://desktop.telegram.org/
  2. Zoek in uw contactenlijst naar BotFather , selecteer het en start het
  3. type /newbot
  4. typ een naam voor deze bot, bijvoorbeeld domApi
  5. typ een gebruikersnaam, eindigend op "bot", bijvoorbeeld domApiUserbot
  6. Op dit punt zal BotFather u een API-sleutel retourneren (hieronder een voorbeeld in vetgedrukte letters) die u ergens moet opslaan:
    784324329:EETRNJU3jQEGWQdjNv3llb4bnDSDREGuuuL
  7. Maak nu met uw smartphone een nieuw kanaal aan (geen groep: kanaal!), kies een naam ervoor (bijvoorbeeld Domoticz), maak het openbaar en geef er een link voor op (moet uniek zijn), bijvoorbeeld t.me/dom123abc
    Houd er rekening mee dat alleen de eigenaar van het kanaal het kanaal als openbaar kan configureren!
    Voeg leden toe aan dit kanaal: uw partner, zonen, iedereen die domoticz-meldingen moet ontvangen
  8. Ga naar het kanaal en voeg een nieuwe beheerder toe: selecteer de bot die u zojuist in stap 3-6 hebt gemaakt (zoek naar domApiUserbot of de gebruikersnaam die u in stap 5 hebt getypt)
  9. Voeg eventueel andere gebruikers toe aan dat kanaal, als u foto's/meldingen naar die gebruikers wilt sturen.
  10. Open de volgende URL in uw browser (vervang de API-sleutel door uw en channellink door uw):
    https://api.telegram.org/bot
    784324329:EETRNJU3jQEGWQdjNv3llb4bnDSDREGuuuuL /bericht verzenden?chat_id=@ dom123abc &text=test
  11. U krijgt dan een uitvoer die lijkt op de volgende afbeelding: sla ergens de ID op ( -1001194779203 , in dit voorbeeld): dit is de ID voor uw kanaal, waar domoticz de meldingen naartoe moet sturen, en u moet deze (met het minteken, indien aanwezig) in het onderstaande script sendsnapshot.sh invoeren (variabele TELEGRAMCHATID).
    telegram kanaal-id
  12. Configureer het aangemaakte kanaal via Telegram op uw smartphone als kanaaltype Privé.
  13. Ga in Domoticz naar Switches, selecteer de ingang voor de deurbelknop, Bewerken en typ in het tekstvak "Bij actie" script://sendsnapshot.sh : op deze manier zal Domoticz elke keer dat iemand op de deurbel drukt, het script sendsnapshot.sh uitvoeren dat een momentopname van de IPCam maakt en deze naar het Telegram-kanaal stuurt. Zo ontvangt elke gebruiker die u in dat kanaal hebt geplaatst de foto van de mensen die op de deurbel hebben gedrukt.