In een eerdere blog heb ik geschreven over Nx Witness. Deze software bevalt me uitermate goed en ik heb dan ook een licentie aangeschaft voor een Starterspack-4 waarmee je tot 4 camera’s videobeelden kunt opnemen. Zoals reeds eerder aangegeven heb je voor het bekijken van je beelden geen licentie nodig.

Nu heeft Nx Witness ook een goed gedocumenteerde API zodat je gebruik kunt maken van de extra functionaliteit van je camera’s (denk aan snapshots en beelden bekijken). Deze kun je ook heel handig gebruiken in Domoticz. In deze blog leg ik uit hoe ik dat heb gedaan.

Om een bepaalde IP-camera te gebruiken moet je deze benaderen met een ID. Normaal gesproken is dat een lange hexadecimale string, maar je kunt in Nx Witness ook een ‘Logical ID’ definiëren voor elke IP camera in je netwerk. Dat is wel zo gemakkelijk. Dit doe je in je Camera Settings van de Nx Witness software.




Nu we een ‘Logical ID’ hebben gedefinieerd gaan we de camera in Domoticz integreren via de API. Ga hiervoor in Domoticz naar je Camera instellingen en vul je gegevens in.



Voor de ImageURL maken we nu gebruik van de API van Nx Witness. Hier vul je in:

/web/ec2/cameraThumbnail?cameraId=<logical ID>

Deze URL kun je ook heel handig gebruiken als je een snapshot wilt maken in je LUA scripts. Gebruik hiervoor onderstaande code:

-- Make snapshot
os.execute("curl -k -u admin:password https://<ip-adres>:<poort>/ec2/cameraThumbnail?cameraId=<logical ID> > /home/pi/domoticz/www/foto_voordeur.jpg")

Je kunt met de API van Nx Witness ook een video-stream benaderen met de volgende code:

https://admin:paswoord@<ip-adres>:<poort>/media/<logical ID>.webm

Kijk zelf maar eens in de Nx Witness API wat er nog meer kan. Het voordeel van de API is dat deze erg snel en betrouwbaar werkt. Tevens ondersteunt Nx Witness erg veel IP camera’s (ze claimen 99% van wat er beschikbaar is). Als je IP camera dus geen URL heeft om een snapshot te maken kun je dat met deze manier wel voor elkaar krijgen.