Acties:
  • 0 Henk 'm!

  • Absolut
  • Registratie: Februari 2003
  • Laatst online: 18-09 14:33
Lytsepier schreef op donderdag 19 mei 2016 @ 11:45:
Ik heb ook een uitdaging gehad mbt Logitech Hub en Domoticz. Het probleem was dat mijn Pi geen DNS kon doen. Nadat ik dit geregeld had, werkt het zonder veel problemen.
Hoe ben je dit te weten gekomen? Het lijkt mij dat als die curl call uit mijn post hierboven werkt, alles in orde zou moeten zijn, nee?

Acties:
  • 0 Henk 'm!

  • Lytsepier
  • Registratie: November 2010
  • Laatst online: 21:09
Ik kwam erachter (na een herinstallatie) dat diverse webservices (o.a. pvoutput) foutmeldingen gaf.. Nadat ik DNS goed had gezet, begon het allemaal te werken.

Acties:
  • 0 Henk 'm!

  • MdO82
  • Registratie: Maart 2007
  • Laatst online: 28-09 15:52
De Wiki lijkt het weer te doen :)

2250 WP Zuid PVoutput


Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

voor het eerst in weken heb ik een stabiele installatie geloof ik. Nu heb ik megaveel tutorials gevonden hoe een camera toe te voegen. Echter krijg ik mijn FoscamFI9803p v2 niet aan de praat. De losse link http://IP:Poort/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxx&pwd=xxx werkt wel. Echter deze invullen in domotics geen 0 resultaat. Ik zou graag de camera op mijn dashboard willen.
Zijn er meerdere die dit probleem hebben gehad? Of heb ik gewoon een verkeerde camera?

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!
Ik heb exact dezelfde camera en heb het volgende ingevuld (en dat werkt):

cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxxx&pwd=xxxxxx

Dus je had het bijna goed :D

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

M.v.Veelen schreef op donderdag 19 mei 2016 @ 21:18:
Ik heb exact dezelfde camera en heb het volgende ingevuld (en dat werkt):

cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxxxx&pwd=xxxxxx

Dus je had het bijna goed :D
Ik had deze idd ook al geprobeerd.....geen resultaat.
Verder heb ik de volgende velden ingevuld.

Actief: V
Naam: Foscam
IP Adres: xxx.xxx.xxx.xxx
Poort: 88
Gebruikersnaam: Kromme
Wachtwoord: Zuk
ImageURL: cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=Kromme&pwd=Zuk

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!

  • corthebor
  • Registratie: Februari 2005
  • Laatst online: 18-09 10:24
Ik ben op zoek naar een eenvoudig alarmsysteem dat gekoppeld kan worden aan mijn z-wave sensoren, dus als de z-wave sensoren getriggerd worden, het alarmsysteem geaktiveerd wordt.
Ik heb al gekeken naar het Satel systeem maar dat is me toch echt een beetje te prijzig.
Iemand toevallig al een koppeling kunnen maken naar zijn alarmsysteem?

gr. Cor

Acties:
  • 0 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 20:42

DukeBox

loves wheat smoothies

corthebor schreef op donderdag 19 mei 2016 @ 22:49:
Ik ben op zoek naar een eenvoudig alarmsysteem dat gekoppeld kan worden aan mijn z-wave sensoren
:? Dat zit toch gewoon in domoticz ? Alleen nog een sirene er bij (wat overigens prima kan met rf brandmelders) en klaar.

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • 0 Henk 'm!

  • maomanna
  • Registratie: Februari 2006
  • Laatst online: 27-09 19:34
Dat kan prima. Ik heb een event hier ergens in t topic gepost. Zoek anders op t domoticz forum. Daar staat ie ook.

Werkt super

https://pvoutput.org/intraday.jsp?id=102416&sid=90116


Acties:
  • 0 Henk 'm!

  • maomanna
  • Registratie: Februari 2006
  • Laatst online: 27-09 19:34
kromme schreef op donderdag 19 mei 2016 @ 22:23:
[...]


Ik had deze idd ook al geprobeerd.....geen resultaat.
Verder heb ik de volgende velden ingevuld.

Actief: V
Naam: Foscam
IP Adres: xxx.xxx.xxx.xxx
Poort: 88
Gebruikersnaam: Kromme
Wachtwoord: Zuk
ImageURL: cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=Kromme&pwd=Zuk
Hier krijg ik met mn foscam 9831w ook geen livestream in domoticz. Wel heb ik een bash die foto stuurt die gekoppeld is aan een knop

https://pvoutput.org/intraday.jsp?id=102416&sid=90116


Acties:
  • 0 Henk 'm!
kromme schreef op donderdag 19 mei 2016 @ 22:23:
[...]


Ik had deze idd ook al geprobeerd.....geen resultaat.
Verder heb ik de volgende velden ingevuld.

Actief: V
Naam: Foscam
IP Adres: xxx.xxx.xxx.xxx
Poort: 88
Gebruikersnaam: Kromme
Wachtwoord: Zuk
ImageURL: cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=Kromme&pwd=Zuk
Probeer onderstaande link eens. De truck is dat je #USERNAME en #PASSWORD laat staan, gewoon de gehele link knippen/plakken en mee niet. Dat zijn variable en leest dan zelf de gegevens uit die je in het scherm invult bij de Camera.

Gebruik deze link voor 3 verschillende Foscam camera's, waaronder een FI9803p v2 en werkt bij elke camera prima. Dus als dat niet werkt dan gaat er ergens anders iets fout.

code:
1
cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=#USERNAME&pwd=#PASSWORD

[ Voor 9% gewijzigd door MikeOO op 20-05-2016 07:52 ]


Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

MikeOO schreef op vrijdag 20 mei 2016 @ 07:51:
[...]


Probeer onderstaande link eens. De truck is dat je #USERNAME en #PASSWORD laat staan, gewoon de gehele link knippen/plakken en mee niet. Dat zijn variable en leest dan zelf de gegevens uit die je in het scherm invult bij de Camera.

Gebruik deze link voor 3 verschillende Foscam camera's, waaronder een FI9803p v2 en werkt bij elke camera prima. Dus als dat niet werkt dan gaat er ergens anders iets fout.

code:
1
cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=#USERNAME&pwd=#PASSWORD
Welke firmware versie gebruik je bij de FI9803p v2. Want het werkt nog niet

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!
kromme schreef op vrijdag 20 mei 2016 @ 09:51:
[...]


Welke firmware versie gebruik je bij de FI9803p v2. Want het werkt nog niet
De laaste versie die pas uitgekomen is maar de vorige versie werkte ook prima.
Systeem Firmware Versie 1.9.3.16
App Firmware Versie 2.54.2.33
Plug-In Versie 3.3.0.20

Lukt dit bevoorbeeld als je de link in je browser opent.
Ip-adres uiteraard aanpassen naar het ip-adres van de camera
inlognaam en wachtwoord vervangen door de inlogegevens van de camera.

Je moet dan een foto te zien krijgen en elke keer als je de browser refresh (F5) doet vernieuwd deze.
Als dat ook niet werkt dan is er meer aan de hand zou ik beginnen om je camera eens te resetten naar fabrieksinstellingen en dan gelijk weer testen.

code:
1
http://192.168.1.150:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=inlognaam&pwd=wachtwoord

Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

MikeOO schreef op vrijdag 20 mei 2016 @ 10:04:
[...]


De laaste versie die pas uitgekomen is maar de vorige versie werkte ook prima.
Systeem Firmware Versie 1.9.3.16
App Firmware Versie 2.54.2.33
Plug-In Versie 3.3.0.20

Lukt dit bevoorbeeld als je de link in je browser opent.
Ip-adres uiteraard aanpassen naar het ip-adres van de camera
inlognaam en wachtwoord vervangen door de inlogegevens van de camera.

Je moet dan een foto te zien krijgen en elke keer als je de browser refresh (F5) doet vernieuwd deze.
Als dat ook niet werkt dan is er meer aan de hand zou ik beginnen om je camera eens te resetten naar fabrieksinstellingen en dan gelijk weer testen.

code:
1
http://192.168.1.150:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=inlognaam&pwd=wachtwoord
Zoals ik in mijn eerste post aangaf werkt de volgende link wel in de browser.
http://IP:Poort/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxx&pwd=xxx

Waar xxxx en xxx
vervangen is door eigen username en wachtwoord, en 192.168.178.xx en poortnummer 88


Ik zie dat de Firmware wel verschilt. Die wat jij gebruikt is de laatste? Want het is me op de pagina van foscam nooit helemaal duidelijk wat nu de recentste is.(iets met geen datums, en rare opsomming van nummering)

System Firmware Version 1.9.1.12
Application Firmware Version 2.54.1.37
Plug-In Version

[ Voor 12% gewijzigd door kromme op 20-05-2016 10:26 ]

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!
kromme schreef op vrijdag 20 mei 2016 @ 10:21:
[...]


Zoals ik in mijn eerste post aangaf werkt de volgende link wel in de browser.
http://IP:Poort/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxx&pwd=xxx

Waar xxxx en xxx
vervangen is door eigen username en wachtwoord, en 192.168.178.xx en poortnummer 88


Ik zie dat de Firmware wel verschilt. Die wat jij gebruikt is de laatste? Want het is me op de pagina van foscam nooit helemaal duidelijk wat nu de recentste is.(iets met geen datums, en rare opsomming van nummering)

System Firmware Version 1.9.1.12
Application Firmware Version 2.54.1.37
Plug-In Version
Als je de firmware download zit er altijd een tekst bestand bij en daarin staan de versienummer altijd vrij duidelijk vindt ik persoonlijk dan.

Je kan ook de Foscam App downloaden en jeFoscam Camera'ss in de Cloud dan aanmelden. Aanmelden is gratis alleen als je de beelden in de cloud wilt opslaan moet je betalen.

Voordeel is dat je via de App direct een melding krijgt als er een update is voor je Camera en ook kan upgraden via de App en tevens loopt het beeld ook een stuk sneller dan via Domoticz.

Zeker voor live beelden werkt dat super.

Is zie aan het ip-adres dat je een Ziggo modem/router gebruikt.
Aangezien deze wel vaker vreemden problemen kunnen geven misschien voor de test even een eigen router gebruiken als je hebt om uit te sluiten.

Normaal werkt dit namelijk gewoon direct zonder echt problemen te geven. Heb dit al bij meerdere zo ingesteld en nooit een probleem mee gehad.

Of je Domoticz moet lastig doen. Je zou ook als test even Domoticz op je PC kunnen installeren en dan de camera een toevoegen daaraan. Als het dan ook niet werkt dan kun je stellen dat het probleem niet bij Domoticz zit maar toch in je LAN/Router deel lijkt mij.

Werkt het dan wel dan is er iets met Domoticz wat niet goed zou gaan.

Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

MikeOO schreef op vrijdag 20 mei 2016 @ 10:57:
[...]


Als je de firmware download zit er altijd een tekst bestand bij en daarin staan de versienummer altijd vrij duidelijk vindt ik persoonlijk dan.

Je kan ook de Foscam App downloaden en jeFoscam Camera'ss in de Cloud dan aanmelden. Aanmelden is gratis alleen als je de beelden in de cloud wilt opslaan moet je betalen.

Voordeel is dat je via de App direct een melding krijgt als er een update is voor je Camera en ook kan upgraden via de App en tevens loopt het beeld ook een stuk sneller dan via Domoticz.
Deze app staat al op mijn telefoon echter het upgrade proces werkt niet

"Sorry your software doesnt support online software upgrade, please upgrade first to the latest version"

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!
kromme schreef op vrijdag 20 mei 2016 @ 11:23:
[...]


Deze app staat al op mijn telefoon echter het upgrade proces werkt niet

"Sorry your software doesnt support online software upgrade, please upgrade first to the latest version"
Vreemd werkt bij mij zonder problemen toen de laatste firmware van paar weken geleden uit kwam.
Mogelijk dat de firmware op de camera nog ouder is en het daarmee nog niet kon.

Bij aanschaf van een nieuwe camera upgrade ik vrijwel altijd eerste de camera voor ik er mee aan de slag ga dus weet niet of dit met de oudere ook niet werkte.

Anders even handmatig de upgrade starten via de GUI van de camera en dan moet het in het vervolg gewoon werken.

Firmware die ik er nu op heb staan
http://www.foscam.nl/inde.../index/attachments/v/542/

Kun je de camera al je via Putty inlogt op Domoticz de camera wel pingen?
In je browser de camera testen dan loopt het verkeer via je PC en de ping via Putty direct via Domoticz.

Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

MikeOO schreef op vrijdag 20 mei 2016 @ 13:34:
[...]


Vreemd werkt bij mij zonder problemen toen de laatste firmware van paar weken geleden uit kwam.
Mogelijk dat de firmware op de camera nog ouder is en het daarmee nog niet kon.

Bij aanschaf van een nieuwe camera upgrade ik vrijwel altijd eerste de camera voor ik er mee aan de slag ga dus weet niet of dit met de oudere ook niet werkte.

Anders even handmatig de upgrade starten via de GUI van de camera en dan moet het in het vervolg gewoon werken.

Firmware die ik er nu op heb staan
http://www.foscam.nl/inde.../index/attachments/v/542/

Kun je de camera al je via Putty inlogt op Domoticz de camera wel pingen?
In je browser de camera testen dan loopt het verkeer via je PC en de ping via Putty direct via Domoticz.
pingen werkt, upgraden via qui resulteerd in een fail. (via ethernetkabel).
zelfs niet na factory reset.
ik geef op!

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!
kromme schreef op vrijdag 20 mei 2016 @ 18:14:
[...]


pingen werkt, upgraden via qui resulteerd in een fail. (via ethernetkabel).
zelfs niet na factory reset.
ik geef op!
Denk dat je of geen echte Foscam hebt gekregen, op de doos staat hoe je dit kun checken of de camera zelf is gewoon niet goed.

Ik zou hem gelijk aanmelden en terugsturen want als de upgrade ook niet werkt klopt er echt iets niet.
Wel bij een betrouwbare winkel aangekocht.

Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

MikeOO schreef op zaterdag 21 mei 2016 @ 07:51:
[...]


Denk dat je of geen echte Foscam hebt gekregen, op de doos staat hoe je dit kun checken of de camera zelf is gewoon niet goed.

Ik zou hem gelijk aanmelden en terugsturen want als de upgrade ook niet werkt klopt er echt iets niet.
Wel bij een betrouwbare winkel aangekocht.
Paradigit...

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!
En als je de camera een factory reset geeft en weer opnieuw probeert? Ik heb zelf de app geïnstalleerd, de QR code op de camera gescand, de update gedaan, alles eigenlijk vlekkeloos. Als dit allemaal al niet lukt, dan lijkt de camera wel niet OK.

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!
Heb ik ze ook gekocht, zeker ook gekocht toen ze in de aanbieding waren >:)

Misschien proberen om niet direct de nieuwste firmware te flashen maar stap voor stap te upgraden.
Als ik op de firmware pagina kijk heb jij de oudste versie dus mogelijk eerst de volgende versie upgraden en als dat lukt ga je weer naar de volgende etc tot je bij de nieuwste uitkomt.

Wel altijd readme even lezen die erbij zit zodat je zeker weet dat je dit firmware kan gebruiken.
Reset de camera altijd terug naar fabrieksinstellingen voor je de upgrade start en wordt ook als advies gegeven.

Lukt dat ook niet dan retour sturen want dan klopt er echt iets niet.

Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

Ik heb Paradigit al gemaild.
Zal vanavond eens upgrade voor upgrade proberen maar heb er geen vertrouwen in ...
En ja deze zijn van de aanbieding :p

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!
Upgrade voor upgrade zou nog weleens de gouden tip kunnen zijn. Meen me te herinneren dat je bij een te oude firmware niet ineens naar de nieuwste kunt upgraden. Vergeet de factory reset niet.....

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!

  • vmb
  • Registratie: November 2004
  • Laatst online: 07-05-2024

vmb

kromme schreef op zaterdag 21 mei 2016 @ 12:40:
Ik heb Paradigit al gemaild.
Zal vanavond eens upgrade voor upgrade proberen maar heb er geen vertrouwen in ...
En ja deze zijn van de aanbieding :p
Bij mij heeft dit geholpen. Kan nu idd ook via app updaten.

Acties:
  • 0 Henk 'm!

  • EBOOZ
  • Registratie: Januari 2002
  • Laatst online: 19:31
Lytsepier schreef op donderdag 19 mei 2016 @ 11:45:
Ik heb ook een uitdaging gehad mbt Logitech Hub en Domoticz. Het probleem was dat mijn Pi geen DNS kon doen. Nadat ik dit geregeld had, werkt het zonder veel problemen.
Heb jij geen problemen met de stabiliteit van Domoticz i.c.m. de Harmony Hub?

Ik had de Hub juist aangeschaft om activiteiten in Domoticz te koppelen, maar na verloop van tijd liep Domoticz ongeveer 2x per dag vast. Hub er uit gekieperd en de boel is weer stabiel.

Acties:
  • 0 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 20:05
EBOOZ schreef op zondag 22 mei 2016 @ 18:16:
[...]

Heb jij geen problemen met de stabiliteit van Domoticz i.c.m. de Harmony Hub?

Ik had de Hub juist aangeschaft om activiteiten in Domoticz te koppelen, maar na verloop van tijd liep Domoticz ongeveer 2x per dag vast. Hub er uit gekieperd en de boel is weer stabiel.
Zelf ook harmony hub en heb totaal geen problemen met stabiliteit van domoticz. Laatste keer dat domoticz vastliep is alweer twee maand geleden. De plek waar mijn harmony hub staat is ook niet z'n lekkere plek met wifi en soms wil hij de verbinding nog wel eens verliezen (rood lampje op hub). Ook daar geet domoticz keurig mee om door elke 30 seconden een fout te geven in de log. Status wordt altijd keurig gesynct. Geweldige toevoeging om de hub in domoticz mee te nemen. Nu kan ik heel simpel mijn lampen uit laten gaan wanneer de mediapc aan gaat.

Acties:
  • 0 Henk 'm!

  • EBOOZ
  • Registratie: Januari 2002
  • Laatst online: 19:31
Hmmm... en draai jij op de stable of de beta?

Acties:
  • 0 Henk 'm!

  • grote_oever
  • Registratie: Augustus 2002
  • Laatst online: 20:05
EBOOZ schreef op zondag 22 mei 2016 @ 21:43:
Hmmm... en draai jij op de stable of de beta?
Version: 3.4834 (stable)

Ik zie mezelf als een gemiddelde domoticz gebruiken. Dus gebruik domoticz dagelijks en heb de meest gangbare functies al in gebruik (433mhz, zwave, hue, logitech, slimmemeter, deurbel, etc). Ik heb 4 (exclusief off knop) knoppen binnen domoticz voor logitech.

Ik moet eerlijk toegeven dat ik nog nooit problemen heb gehad met de stabiliteit van domoticz (uptime van 261 dagen). Draai alles op een Rpi2.

[ Voor 14% gewijzigd door grote_oever op 22-05-2016 22:01 ]


Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Ik ben nu bezig om alle event logic via PHP af te handelen,

Ik heb hiervoor een klein LUA scriptje gemaakt die de LUA var's (devicechanged, otherdevices, etc) doorgeeft aan een PHP CLI script die vervolgens de logica afhandeld. Het doorgeven en opzetten van de arrays in PHP heeft een minimale extra tijd nodig (~ 2ms).

Heeft iemand anders ook het hele event / logica gedeelte naar PHP verhuisd?

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

Verwijderd

Ik doe alles via PHP, zie https://github.com/Egregi...om-Floorplan-for-Domoticz
het totale pakket bevat oa:
- custom floorplan
- cron script in 2 delen. Een klein deel die enkel een room opvraagt zodat het supersnel reageert. Het 2de deel wordt uitgevoerd elke minuut via cron. Eerste deel schakelt lichten aan middels bewegingsdetectie en andere tijdkritieke dingen zoals meldingen bij beweging indien niet thuis etc. Het 2 deel regelt dan het uitschakelen van devices, polling op custom tijdstippen, verwarming, buienradar,...
- vrije planning van niet dagelijkse dingen via Google Calendar: afspraken met titels als Schakel lichtinkom aan, set living 22,...
- Enkele pagina's voor bedienen van multimedia: Denon versterker, Kodi filmdatabase,...
Ook meldingen naar iOS, Telegram, SMS worden via PHP geregeld.
Zonder de vrijheid van programmeren in PHP had ik wellicht al het hele domotica gebeuren vaarwel gezegd.

[ Voor 7% gewijzigd door Verwijderd op 23-05-2016 12:56 ]


Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op maandag 23 mei 2016 @ 12:55:
Ik doe alles via PHP, zie https://github.com/Egregi...om-Floorplan-for-Domoticz
het totale pakket bevat oa:
- custom floorplan
- cron script in 2 delen. Een klein deel die enkel een room opvraagt zodat het supersnel reageert. Het 2de deel wordt uitgevoerd elke minuut via cron. Eerste deel schakelt lichten aan middels bewegingsdetectie en andere tijdkritieke dingen zoals meldingen bij beweging indien niet thuis etc. Het 2 deel regelt dan het uitschakelen van devices, polling op custom tijdstippen, verwarming, buienradar,...
- vrije planning van niet dagelijkse dingen via Google Calendar: afspraken met titels als Schakel lichtinkom aan, set living 22,...
- Enkele pagina's voor bedienen van multimedia: Denon versterker, Kodi filmdatabase,...
Ook meldingen naar iOS, Telegram, SMS worden via PHP geregeld.
Zonder de vrijheid van programmeren in PHP had ik wellicht al het hele domotica gebeuren vaarwel gezegd.
Heb er even naar gekeken, goed om te zien dat ik niet de enige malloot ben die alles altijd in PHP wil doen :p

Begrijp ik nu goed dat alles via jouw systeem werkt door op de switches een action url op te geven en verder via cron de boel afgehandeld wordt?

Ik doe het zelf nu door middels een LUA device script alle LUA vars om te zetten naar JSON en Base64 te encoden en die naar een PHP CLI script door te sturen. Het doorsturen en weer decoderen en opzetten van de arrays in PHP kost een kleine 2ms aan tijd, dus dat is verwaarloosbaar. Vervolgens heb ik in PHP de beschikking over alle data die je ook in LUA zou hebben. Hier hoef ik dan ook geen switches te voorzien van action URL's.

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

Verwijderd

on/off action is enkel nodig voor bv bewegingsdetectoren, de rest gaat via cron.
Alle gegevens worden binnengehaald via de JSON api en in variablen gestopt.
Heb jij jouw code ergens online staan? Pastebin, github,... ?

Acties:
  • +1 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op maandag 23 mei 2016 @ 15:03:
on/off action is enkel nodig voor bv bewegingsdetectoren, de rest gaat via cron.
Alle gegevens worden binnengehaald via de JSON api en in variablen gestopt.
Heb jij jouw code ergens online staan? Pastebin, github,... ?
Had het nergens staan (is nog very much een work-in-progress) maar heb het even in een gist gezet:

https://gist.github.com/a...9e468d590be5bf9d3955798cd

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

Verwijderd

Eigenlijk vooral benieuwd of deze manier sneller zou werken dan die van mij.
Bij mij gaat de meeste tijd verloren in domoticz, tussen binnenkomen signaal en aanroepen script:

Bijvoorbeeld: 0,48 sec
2016-05-23 16:14:45.509 (RFXCOM) Lighting 2 (pirlivingR)
2016-05-23 16:14:45.984 Executing script: /volume1/web/secure/cron.sh

mijn script is dan 0,13 sec later al klaar. De PHP op zich had amper 0,002 seconden nodig, samen met het opvragen via JSON 0,06 sec.
2016-05-23 16:14:46.113 pirlivingR | D=0.058|P=0.002|T=0.060

Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Het viel mij op dat het opvragen van status van devices via JSON inderdaad behoorlijk lang duurde.
Door het zo te doen en de vars vanuit LUA direct door te geven is de delay minimaal.

Als er vervolgens nog geschakeld moet worden, dan krijg je wel nog de delay van de JSON call erbij, maar daar kom je niet omheen.

Dus in mijn gedachte is elke JSON call die je kan vermijden een goed iets :)

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!
Zou het via PHP dan ook sneller gaan om een virtuele schakelaar om te zetten?
Ik heb het nu via een script lopen die wordt aangeroepen middels: script:///volume1/@appstore/domoticz/var/scripts/switch.sh bij de ON-action.

Dit script doet het volgende:

code:
1
2
#!/bin/sh
/usr/bin/curl -s --connect-timeout 4 --max-time 5 "http://127.0.0.1:8084/json.htm?type=command&param=switchlight&idx=1379&switchcmd=Toggle&level=0&"


Deze togglet dus de virtuele switch "Wandschakelaar" omdat bij het gebruiken van de "Killswitch" (pulse drukker), de "Killswitch" aan, maar ook meteen weer uit gaat.

Ik wil dit dus het liefst sneller laten gaan. Ik heb het met een Blockly event geprobeerd, maar dat ging ook niet lekker vlot. Als jullie me de tools kunnen geven om dit in een PHP script te vangen zodat ik ermee kan testen, heel graag.

Ik heb in lua het volgende, en dat lijkt alweer iets vlotter / stabieler te gaan dan met het aanroepen van het .sh script:

script_device_wandschakelaar.lua :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
local physical_switch = 'Killswitch (Z)'
local virtual_switch = 'Wandschakelaar'

commandArray = {}

    if (devicechanged[physical_switch] == 'On' and otherdevices[virtual_switch] == 'Off') then
    commandArray[virtual_switch]='On'

print('Wandschakelaar ON door bedienen Killswitch (Z)')

    elseif (devicechanged[physical_switch] == 'On' and otherdevices[virtual_switch] == 'On') then
    commandArray[virtual_switch]='Off'

print('Wandschakelaar OFF door bedienen Killswitch (Z)')

end

return commandArray


Ik ben wel benieuwd hoe ik e.e.a. precies kan meten (Blockly, script, PHP) zodat ik weet welke methode het snelst is.

Dus: hoe meet ik dit precies, en durven jullie de uitdaging aan O-) ?

[ Voor 31% gewijzigd door M.v.Veelen op 23-05-2016 18:40 ]

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
M.v.Veelen schreef op maandag 23 mei 2016 @ 18:13:
Zou het via PHP dan ook sneller gaan om een virtuele schakelaar om te zetten?
Ik heb het nu via een script lopen die wordt aangeroepen middels: script:///volume1/@appstore/domoticz/var/scripts/switch.sh bij de ON-action.

Dit script doet het volgende:

code:
1
2
#!/bin/sh
/usr/bin/curl -s --connect-timeout 4 --max-time 5 "http://127.0.0.1:8084/json.htm?type=command&param=switchlight&idx=1379&switchcmd=Toggle&level=0&"


Deze togglet dus de virtuele switch "Wandschakelaar" omdat bij het gebruiken van de "Killswitch" (pulse drukker), de "Killswitch" aan, maar ook meteen weer uit gaat.

Ik wil dit dus het liefst sneller laten gaan. Ik heb het met een Blockly event geprobeerd, maar dat ging ook niet lekker vlot. Als jullie me de tools kunnen geven om dit in een PHP script te vangen zodat ik ermee kan testen, heel graag.

Ik heb in lua het volgende, en dat lijkt alweer iets vlotter / stabieler te gaan dan met het aanroepen van het .sh script:

script_device_wandschakelaar.lua :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
local physical_switch = 'Killswitch (Z)'
local virtual_switch = 'Wandschakelaar'

commandArray = {}

    if (devicechanged[physical_switch] == 'On' and otherdevices[virtual_switch] == 'Off') then
    commandArray[virtual_switch]='On'

print('Wandschakelaar ON door bedienen Killswitch (Z)')

    elseif (devicechanged[physical_switch] == 'On' and otherdevices[virtual_switch] == 'On') then
    commandArray[virtual_switch]='Off'

print('Wandschakelaar OFF door bedienen Killswitch (Z)')

end

return commandArray


Ik ben wel benieuwd hoe ik e.e.a. precies kan meten (Blockly, script, PHP) zodat ik weet welke methode het snelst is.

Dus: hoe meet ik dit precies, en durven jullie de uitdaging aan O-) ?
Het lijkt me niet dat je met PHP snellere resultaten gaat behalen dan direct in LUA. Simpelweg vanwege het feit dat de LUA native is voor Domoticz. Dit is er even vanuit gaande dat je middels de 'script_device_bla.lua' te werk gaat.

Direct een vergelijking tussen LUA en PHP performance zou ik zeggen dat voor veel dingen PHP toch net ff iets sneller is, maar dat is gevoelsmatig, niet getest.

Door jouw post ben ik nog eens even verder naar mijn code gaan kijken om te zien hoe ik de dingen gemeten heb en ik kom tot de conclusie dat mijn metingen niet 'volledig' zijn :o

Ik meette de tijd die het kost om de LUA os.execute call te doen tot het PHP script alle arrays opgezet had. Dit koste inderdaad 2ms. Echter, LUA heeft ook nog wat tijd nodig om de tables om te zetten naar JSON en vervolgens BASE64 te encoden. Voornamelijk dit encoding blijkt lang te duren (gemeten ~120ms). Dit gaf een totaal van ongeveer 180ms om van LUA naar PHP te gaan. Dit is natuurlijk niet erg prettig :p

Ik ben dan ook eens verder gaan kijken en testen en heb nu een andere base64 encode functie in gebruik. Nu is het totaal gereduceerd tot 18ms voor het LUA script (waarvan 14ms aan encoding) en 2ms voor PHP, voor een totaal van 20ms. Dit vindt ik wel acceptabel.

In LUA heb ik het gemeten middels de os.clock() functie en in PHP middels de microtime(true) functie.

Met een betere base64 encode functie zou je waarschijnlijk de LUA tijd terug kunnen dringen tot een gelijke 2 - 4 ms.

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

  • Blackouts
  • Registratie: Oktober 2010
  • Laatst online: 28-09 13:57
Ik heb sinds kort een Imagintronix XH 300 bodem vochtigheidssensor. Helaas bereikt deze vanuit de achtertuin niet de RPI met RFLink in de meterkast bij de voordeur. Ik heb de antenne van de sensor al verlengd met een 17.5 cm koperdraad, maar dit is helaas niet voldoende.

Ik ben dus aan het kijken hoe ik het bereik kan vergroten. Heeft er iemand ervaring met een dipool antenne zoals deze? Vergroot deze zowel het zend als ontvang bereik?

Een andere optie is om de RPI te verplaatsen naar een centrale plek in huis, en dan via een nog aan te schaffen wifi module te verbinden met het netwerk. Is dit een stabiele oplossing?

Maar goed, ik zeg ook maar wat....


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 26-09 19:17

Matis

Rubber Rocket

Ik heb zelf de dipool antenne, al heb ik geen ervaring met de "standaard" antenne. Ik heb namelijk direct voor de dipool gekozen.

Ik merk wel dat de stand van de antenne ontzettend veel verschil maakt, dus gevoelsmatig denk ik dat het bereik wel vergroot.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

Verwijderd

Intellium schreef op maandag 23 mei 2016 @ 20:32:
[...]

Dit gaf een totaal van ongeveer 180ms om van LUA naar PHP te gaan.
Ik zie hier tijden tot 0,5 sec tussen de log van een motion sensor en het einde van het script.
Jouw script schrijft ook 'Logic Duration' in de logfile, die gaat soms boven de 220ms.
Lijkt me dus, voor mijn geval, niet de moeite om m'n hele logica opnieuw te programmeren.

Acties:
  • 0 Henk 'm!
Ik moet eerlijk zeggen dat het, nu ik het met LUA heb opgelost, een stuk sneller gaat dan voorheen met het aparte .sh script. En ook is het stabieler: nog geen schakeling gemist of 2 keer hoeven drukken :)

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!
Heeft iemand de gouden tip?

Net als vele anderen heb ik m'n Nefit Easy opgenomen in Domoticz en dat werkt op zich prima. Nu komt het eens in de zoveel tijd voor, dat er geen updates meer binnenkomen en is de enige oplossing om de thermostaat van de muur te halen of even stroomloos te maken. Daarna werkt alles weer.

Nu wil ik eigenlijk een melding ontvangen als er gedurende 30 minuten geen update meer heeft plaatsgevonden en zat ik te denken dat dit misschien met LUA zou moeten kunnen. Iets met 'otherdevices_lastupdate' of iets dergelijks.

Iemand een idee hoe dit te vangen is in een scriptje die dus een melding geeft als een device gedurende zo'n 30 minuten geen update meer heeft ontvangen? Het is dan namelijk ook niet zo dat de temperatuur bijvoorbeeld op '0' wordt gezet, de laatst gelogde waarde wordt dan elke keer in het log weggeschreven. Je ziet het alleen aan de "Last seen" die blijft staan op de datum/tijd van de laatste logging.

Misschien dat er handige LUA scripters zijn die me een zetje de goede richting op kunnen geven ?

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!

  • R-B
  • Registratie: Mei 2003
  • Laatst online: 23-09 08:27

R-B

Blokkert

Ik ondervindt wat rare uitval problemen met een z-wave device, wat wellicht komt door de wijze van aansturing?

Ik heb een PHILIOTECH DOMOTICAMODULE 2X1,5KW. http://alturl.com/s2cf2

Ik heb dus 2 schakelingen, met 2 aparte scripts.

1: Schakelen tuinverlichting. Dit gaat op basis van device triggered lua script in de eventmanager.
Dit werkt in principe goed, blijft netjes continu branden.

lamp gaat aan als dummy Sunset_Sunrise waar is. Het script wordt getriggerd bij statusverandering SunSet-SunRise of Tuin_Spotjes

2. Aansluiting waterelement, Lua time based.
Hier is dus een probleem, pomp wordt met enige regelmaat uitgeschakeld om vervolgens de minuut erop weer ingeschakeld te worden door het script.

Echter, het "off" commando wordt NIET verstuurd.

Ik heb bedacht:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
if CurrentUsage > 10 then
    PompUsageToHigh = 'Ja';
else
    PompUsageToHigh = 'Nee';
end

if ActTemp < 5 then
    ToCold = 'Ja';
else
    ToCold = 'Nee';
end

 if (((time.hour < 23) and (time.hour >= 12)) and -- Alleen aan tussen 12.00 en 23.00
   (otherdevices['Hulp_ZijnThuis'] == 'On')  and -- Aan als we thuis zijn
   (ToCold == 'Nee')                         and -- Aan als temp hoog genoeg is.
   PompState == 'Off'                        then // blokkeren dat elke minuut pomp ingeschakeld wordt als deze al aan is.
       commandArray['Tuin_Pomp'] = 'On'
       print ("Pomp ingeschakeld");
       commandArray['SendNotification']='Pomp ingeschakeld'
 else
       --
 end

 if (((time.hour > 22) or (time.hour < 12))  or -- Uit tussen 23 en 12
   (otherdevices['Hulp_ZijnThuis'] == 'Off')  or  -- Uit we weg zijn
   (ToCold == 'Ja')                           or -- Uit als temp te hoog is.
   (PompUsageToHigh == 'Ja'))                 and -- Uit  als verbruik niet klopt (zwaar aanlopen??) 
   PompState == 'On'                          then // blokkeren dat elke minuut pomp uitgeschakeld wordt als deze al uit is.
       commandArray['Tuin_Pomp'] = 'Off'
       print ("Pomp uitgeschakeld");
       commandArray['SendNotification']='Pomp uitgeschakeld'
 else
       --
 end


Ik krijg dus via telegram nooit het bericht "Pomp uitgeschakeld, maar de pomp is dus wel regelmatig "uit".
Script ziet dat pomp uit is, overige condities voldoen ook, dus wordt wordt pomp weer ingeschakeld.

Iemand idee hoe dit kan gebeuren? zelfde z-wave device waar de ene regelmatig "uitvalt" en de andere netjes blijft werken.

Afbeeldingslocatie: https://photos-2.dropbox.com/t/2/AAB6assAXPp-twDbotZsrfpjFzK8smkFfRXUzhMSo4Vu5A/12/41627729/png/32x32/1/_/1/2/pomp.png/ENK25R8YiMsXIAcoBw/v3nSU_ZdjxMGKETJSdLyEfe830DCJwnh0CEEi4RBrmk?size=2048x1536&size_mode=3

als niet werkt: https://www.dropbox.com/s/qoxrnkr90jqlcj1/pomp.png?dl=0

| NL | 2.2k Wp (ZW) | MHI SRC/SRK35ZS-W2 & ME MXZ-2F42+AP20+AP25 | MT E 5.12KWh V151+CT003 V114 | Home Assistant |


Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op dinsdag 24 mei 2016 @ 08:17:
[...]


Ik zie hier tijden tot 0,5 sec tussen de log van een motion sensor en het einde van het script.
Jouw script schrijft ook 'Logic Duration' in de logfile, die gaat soms boven de 220ms.
Lijkt me dus, voor mijn geval, niet de moeite om m'n hele logica opnieuw te programmeren.
Ben wel benieuwd wat voor logica je uitvoert dat het script er 220ms over doet.

Hoogste wat ik tot nu toe gezien heb in logic duration is 60ms vanwege het schakelen van switches via de JSON API.

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!
M.v.Veelen schreef op dinsdag 24 mei 2016 @ 08:31:
[...]
Iemand een idee hoe dit te vangen is in een scriptje die dus een melding geeft als een device gedurende zo'n 30 minuten geen update meer heeft ontvangen?
[...]
Ik gebruikte dit Lua-script om te zorgen dat ik maar één keer een melding kreeg als er meerdere keren werd aangebeld.

Het script kijkt of de switch geactiveerd wordt en kijkt naar de datum/tijd die vorige keer is weggeschreven in een uservariabele. Als de datum/tijd in die uservar ouder is dan 30s dan wordt er een pushbericht verstuurd dat er iemand voor de deur staat. Ook wordt de datum/tijd in de uservar dan overschreven met de huidige datum/tijd.
Stel dat er een ongeduldig iemand aan de deur staat die binnen 30s meerdere keren op de bel drukt, dan ziet het script bij elke keer indrukken van de bel dat de datum/tijd in de uservar niet ouder is dan 30s en zal dus geen actie ondernemen.

Daar kun jij vast wel wat aan verbouwen om jouw doel te bereiken.
Vergeet dan niet om een var te zetten als je de melding verstuurd hebt, anders blijf je berichten krijgen zolang je Nefit spul eruit ligt, erg leuk als je niet bij je Domoticz kan en je maar berichtjes blijft binnenkrijgen ;) Die var moet je dan ook nog weer ergens resetten, het zij automatisch, hetzij met de hand. Anders zal je bij een volgende keer dat je Nefit spul eruit ligt geen melding krijgen.
R-B schreef op dinsdag 24 mei 2016 @ 09:10:
Ik ondervindt wat rare uitval problemen met een z-wave device, wat wellicht komt door de wijze van aansturing?

[....script...]
Plaatje doet het niet.

Je kunt natuurlijk om te proberen het script even aanpassen naar een lamp in je woonkamer, dan kun je zien of het gedrag daar ook optreedt.

En verder, zou je je script niet simpeler kunnen maken? Je hebt nu allerlei voorwaarden voor aan, en eigenlijk diezelfde voorwaarden (maar dan omgekeerd) voor uit. Dat kan simpeler lijkt mij? Als aan de voorwaarden voor 'aan' niet wordt voldaan, dan is de else-conditie daarvan toch niet meer dan een IF pomp = On THEN commandarray(pomp) == Off ?
Op die manier voorkom je denk ik dat de boel gaat lopen 'klapperen' tussen aan/uit.

offtopic:
'Teveel' is 'too', de 'to' die jij gebruikt staat voor 'naar' ("I'm going to ...")

[ Voor 59% gewijzigd door ThinkPad op 24-05-2016 09:54 ]


Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

Ik heb dit weekend mijn rflink van de raspberry gehaald. Na het terug aansluiten viel me op dat ik in de lijst met devices geen devices van de buren zie. Dit was voorheen wel, ik kan wel gewoon dingen koppelen. Beetje vreemd, weet iemand hoe dit kan?

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!

  • R-B
  • Registratie: Mei 2003
  • Laatst online: 23-09 08:27

R-B

Blokkert

ThinkPadd schreef op dinsdag 24 mei 2016 @ 09:42:
[...]

Plaatje doet het niet.

Je kunt natuurlijk om te proberen het script even aanpassen naar een lamp in je woonkamer, dan kun je zien of het gedrag daar ook optreedt.

En verder, zou je je script niet simpeler kunnen maken? Je hebt nu allerlei voorwaarden voor aan, en eigenlijk diezelfde voorwaarden (maar dan omgekeerd) voor uit. Dat kan simpeler lijkt mij? Als aan de voorwaarden voor 'aan' niet wordt voldaan, dan is de else-conditie daarvan toch niet meer dan een IF pomp = On THEN commandarray(pomp) == Off ?
Op die manier voorkom je denk ik dat de boel gaat lopen 'klapperen' tussen aan/uit.

offtopic:
'Teveel' is 'too', de 'to' die jij gebruikt staat voor 'naar' ("I'm going to ...")
ah, directe link ook toegevoegd: https://www.dropbox.com/s/qoxrnkr90jqlcj1/pomp.png?dl=0

Inderdaad, kan eenvoudiger / netter. Maar het 'klapperen' wordt niet geforceerd door het script, dat is het "grappige". Het "off" commando wordt immers niet verstuurd.

maar kan niet kwaad om evengoed aan te passen en resultaat te checken.

offtopic:
lol, @ Too/To. Inderdaad. blijft vervelende :D

| NL | 2.2k Wp (ZW) | MHI SRC/SRK35ZS-W2 & ME MXZ-2F42+AP20+AP25 | MT E 5.12KWh V151+CT003 V114 | Home Assistant |


Acties:
  • 0 Henk 'm!

Verwijderd

Intellium schreef op dinsdag 24 mei 2016 @ 09:18:
[...]


Ben wel benieuwd wat voor logica je uitvoert dat het script er 220ms over doet.

Hoogste wat ik tot nu toe gezien heb in logic duration is 60ms vanwege het schakelen van switches via de JSON API.
'k Heb de code alweer gewist :P
Maar was simpel op een pir: if pir = on toggleswitch on.
Een ander nadeel van die lua scripts is dat ze altijd uitgevoerd worden. Bij elke device update dus. Met 209 devices is dat dus serieus frequent. Voordeel van de on/off action is dat je het enkel instelt op de devices waar je meteen reactie op wil (pirs, remotes).
Nadeel ervan is dat het lijkt alsof domoticz eerst al de rest doet en pas op het laatste denkt oei, ik moet nog een script starten.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2016-05-24 08:02:12.319  (RFXCOM) Lighting 2 (pirlivingR)
2016-05-24 08:02:12.552  <b><font color='green'>MOTION: Detected motion in 'pirlivingR'</font></b>
2016-05-24 08:02:12.553  User: Admin initiated a switch command
2016-05-24 08:02:12.554  OpenZWave: Domoticz has send a Switch command! NodeID: 3 (0x03)
2016-05-24 08:02:12.506  (ZWAVE) Thermostat (alexZ)
Duration: 2.93 ms

2016-05-24 08:02:12.692  (ZWAVE) Light/Switch (tvled)
Duration: 333.14 ms

Logic Duration: 330.12 ms

Duration: 2.93 ms

2016-05-24 08:02:13.166  Executing script: /volume1/web/secure/cron.sh
2016-05-24 08:02:19.252  (ZWAVE) Temp (kamer)
Duration: 2.94 ms

2016-05-24 08:02:25.786  (ZWAVE) Thermostat (tobiZ)
Duration: 2.99 ms

2016-05-24 08:02:56.840  (ZWAVE) Thermostat (livingZZ)
Duration: 2.93 ms

2016-05-24 08:03:01.085  (ZWAVE) Thermostat (kamerZ)
Duration: 2.98 ms

[ Voor 35% gewijzigd door Verwijderd op 24-05-2016 10:09 ]


Acties:
  • 0 Henk 'm!
ThinkPadd schreef op dinsdag 24 mei 2016 @ 09:42:
[...]

Ik gebruikte dit Lua-script om te zorgen dat ik maar één keer een melding kreeg als er meerdere keren werd aangebeld.

- knip -
Thanks.

Ik was met zoiets aan het stoeien geweest gisteravond. Het "garagedeur staat langer dan 30 minuten open" script lijkt hier namelijk sterk op, maar er is telkens 1 ding waar ik over struikel.
In jouw script staat bijvoorbeeld:

code:
1
if (devicechanged['Deurbel beneden'] == 'On') then


Dat kan ik niet herschrijven naar de Easy. Omdat de devicechanged geen On of Off waarde heeft, maar een telkens wisselende temperatuur. En die kan ook zomaar 2 uur lang hetzelfde zijn. Andere switches/utilities/temp.sensoren kan ik hier ook niet voor gebruiken als je begrijpt wat ik bedoel.
Er moet dus alleen gekeken naar wanneer het device voor het laatst "gezien" is. En als dat langer is dan x-minuten, dan een signaal. En dat dan inderdaad afvangen met een variabele die ervoor zorgt dat niet elke minuut m'n Prowl begint te brullen :)

Dus ik zie zo 1,2,3 niet hoe ik dit moet herschrijven zodat hij alleen naar de "Last seen" luistert zeg maar.

De volgende mogelijkheden heb ik (en ik kan ze dus allemaal niet gebruikern hiervoor lijkt mij):

Nefit | Boiler Status (On / Off)
Nefit | Clock Mode (On / Off /....)
Nefit | CV Druk (x,x Bar)
Nefit | Display Code (System standby / ?)
Nefit | Flow Temperature (xx,x C)
Nefit | Setpoint (xx,x C)
Nefit | Temp buiten (xx,x C)
Nefit | Temp woonkamer (xx,x C)

[ Voor 11% gewijzigd door M.v.Veelen op 24-05-2016 10:22 ]

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
'k Heb de code alweer gewist :P
Maar was simpel op een pir: if pir = on toggleswitch on.
Gezien het schakelen via de JSON API loopt, zie ik niet in hoe je dit sneller zou kunnen doen. Lijkt me ook niet dat jouw eigen code die switch veel sneller zal schakelen dan de mijne? Als dit wel zo is, dan zou ik dat graag zien natuurlijk :)
Een ander nadeel van die lua scripts is dat ze altijd uitgevoerd worden. Bij elke device update dus. Met 209 devices is dat dus serieus frequent. Voordeel van de on/off action is dat je het enkel instelt op de devices waar je meteen reactie op wil (pirs, remotes).
Dat is ook iets wat bij mij niet lekker zit en niet 'efficient' aanvoelt. Ik heb zelf nu ongeveer een 250 devices en de overhead van < 20ms vindt ik wel acceptabel vanwege het gemak dat ik krijg door alle data direct beschikbaar te hebben in PHP waar ik niet voor hoef te pollen.

Het lijkt me dat jij in je on/off scripts toch wel vaak de JSON API zal moeten pollen voor status van devices, wat in mijn beleving de grootste delays oplevert.
Nadeel ervan is dat het lijkt alsof domoticz eerst al de rest doet en pas op het laatste denkt oei, ik moet nog een script starten.
Mijn C++ kennis is dermate slecht dat ik niet eens een poging heb gedaan om te begrijpen hoe Domoticz de 'events' precies afhandeld, maar ik heb ook het gevoel dat Domoticz er 'even' over doet om acties uit te voeren. Deze delay leek mij het minst als het via een device script ging.

Ik maak in mijn script nu gebruik van de volgende LUA Base64 functie : https://github.com/ErnieE...lob/master/ee5_base64.lua
Dit verkort het encoden van de data voor het naar PHP gaat behoorlijk. Misschien als je hiermee test dat je resultaten krijgt waar je wel vrolijk van wordt ? :)

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

Verwijderd

Dit gebruik ik voor m'n fibaro rookmelders:
Dus voor elke van de 6 rookmelders wordt de loop uitgevoerd.
De gemiddelde temperatuur wordt berekend. Als 1 van de thermometers meer dan 5 graden boven het gemiddelde is en die is meer dan 25, en de laatste alert werd meer dan een uur geleden verstuurd stuur een telegram, ios (en sms indien actief).
Vervolgens, als de laatste update meer dan 4 uur geleden is en de laatste alert meer dan 12 uur geleden, stuur een telegram.
En tot slot, als er ook gededecteerd werd verstuur telegram en iOS bericht.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
if($Smeldingen=='On') {
    $items=array('living','badkamer','kamer','tobi','alex','zolder');
    $avg=0;
    foreach($items as $item) $avg=$avg+${'T'.$item};
    $avg=$avg / 6;
    foreach($items as $item) {
        if(${'T'.$item}>$avg + 5 && ${'T'.$item} > 25) {
            $msg='T '.$item.'='.${'T'.$item}.'°C. AVG='.round($avg,1).'°C';
            if(cget('timealerttemp'.$item)<$eenuur) {
                telegram($msg,false);
                ios($msg);
                if($sms===true) sms($msg);
                cset('timealerttemp'.$item, $time);}
            }
            if(${'TT'.$item}<$vieruur) {
                if(cget('timealerttempupd'.$item)<$twaalfuur) {
                    telegram($item.' not updated');
                    cset('timealerttempupd'.$item, $time);
                }
            }
            if(${'SSD'.$item}=='On') {
                $msg='Rook gedecteerd in '.$item.'!';
                telegram($msg,false);
                ios($msg);
                if($sms===true) sms($msg);
                resetsecurity(${'SISD'.$item},$item);
            }
        }
    }
}

Acties:
  • 0 Henk 'm!

Verwijderd

Intellium schreef op dinsdag 24 mei 2016 @ 10:22:
[...]
Het lijkt me dat jij in je on/off scripts toch wel vaak de JSON API zal moeten pollen voor status van devices, wat in mijn beleving de grootste delays oplevert.
De devices worden opgevraagd bij de start van het script. Hetzij enkel die van 1 room, hetzij alle used devices.
Hierdoor heb ik alle statussen meteen in variablen die ik overal kan gebruiken.

Was daar ook niet iets met de benaming van lua scripts zodat die enkel uitgevoerd worden als dat specifiek device een update kreeg?
Misschien is dat wel een mogelijkheid om van daaruit m'n php aan te roepen ipv de on/off action.

Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op dinsdag 24 mei 2016 @ 10:38:
[...]

De devices worden opgevraagd bij de start van het script. Hetzij enkel die van 1 room, hetzij alle used devices.
Hierdoor heb ik alle statussen meteen in variablen die ik overal kan gebruiken.

Was daar ook niet iets met de benaming van lua scripts zodat die enkel uitgevoerd worden als dat specifiek device een update kreeg?
Misschien is dat wel een mogelijkheid om van daaruit m'n php aan te roepen ipv de on/off action.
Voor zover ik weet is er geen mogelijkheid om een device script alleen voor een enkel device af te trappen, behalve dan in LUA een check te doen op de devicechanged table.

Hoe lang doet jouw script erover om alle devices op te vragen? Ik verwacht daar toch wel een 100ms aan tijd te zien minstens...

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

Verwijderd

Indien enkel de room (enkel pirs en schakelaars hierdoor geschakeld etc, 71 devices):
D=0.058|P=0.002|T=0.060

Indien alles (via cron, schakelt verwarming etc, bevraagt buienradar,google calendar, 113 used devices):
D=0.111|P=0.581|T=0.692

D= tijd voor de json call
P= tijd die php erover doet om het hele script uit te voeren
T= Totaal

edit: even een script_device_cron.lua gemaakt die m'n php oproept:
code:
1
2
3
os.execute('/usr/bin/php /volume1/web/secure/cron.php &')
commandArray = {}
return commandArray


schakelen lijkt sneller te gaan, even afwachten of dat altijd zo is en of het zovele extra uitvoeren geen nadelige gevolgen zal hebben.

Licht geschakeld 0,13 sec na beweging:
code:
1
2
3
4
5
6
7
8
9
10
2016-05-24 11:02:40.516  (ZWAVE) Light/Switch (pirinkom)
2016-05-24 11:02:40.647  User: Admin initiated a switch command
2016-05-24 11:02:40.647  OpenZWave: Domoticz has send a Switch command! NodeID: 12 (0x0c)
2016-05-24 11:02:40.648  (ZWAVE) Light/Switch (inkom)
2016-05-24 11:02:40.660 Switch licht inkom On by cron = OK 
2016-05-24 11:02:40.662  User: Admin initiated a switch command
2016-05-24 11:02:40.662  OpenZWave: Domoticz has send a Switch command! NodeID: 7 (0x07)
2016-05-24 11:02:40.663  (ZWAVE) Light/Switch (hall)
2016-05-24 11:02:40.676 Switch licht hall On by cron = OK 
2016-05-24 11:02:40.676  | D=0.057 | P=0.031 | T=0.088 |  | A=2

[ Voor 84% gewijzigd door Verwijderd op 24-05-2016 11:06 ]


Acties:
  • 0 Henk 'm!
M.v.Veelen schreef op dinsdag 24 mei 2016 @ 10:12:
[...]
Dat kan ik niet herschrijven naar de Easy. Omdat de devicechanged geen On of Off waarde heeft, maar een telkens wisselende temperatuur. [...]
Er moet dus alleen gekeken naar wanneer het device voor het laatst "gezien" is. En als dat langer is dan x-minuten, dan een signaal.
[...]
Volgens mij laat je dan gewoon de waarde 'On' of 'Off' weg en kijk je alleen naar devicechanged['mijndevice']

Zo dus:
code:
1
if (devicechanged['Deurbel beneden']) then

De haakjes eromheen '(' en ')' kun je volgens mij zelfs weglaten, maar dat moet je proberen, weet ik zo niet.

[ Voor 8% gewijzigd door ThinkPad op 24-05-2016 11:13 ]


Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op dinsdag 24 mei 2016 @ 10:48:
Indien enkel de room (enkel pirs en schakelaars hierdoor geschakeld etc, 71 devices):
D=0.058|P=0.002|T=0.060

Indien alles (via cron, schakelt verwarming etc, bevraagt buienradar,google calendar, 113 used devices):
D=0.111|P=0.581|T=0.692

D= tijd voor de json call
P= tijd die php erover doet om het hele script uit te voeren
T= Totaal
Dan zou je toch een flinke verbetering kunnen realiseren door middels LUA de arrays door te sturen naar PHP ?

Klein voorbeelde uit mijn log :

code:
1
2
3
4
5
2016-05-24 11:05:53.733  (IPBrain) Thermostat (Woonkamer - Setpoint)
2016-05-24 11:05:53.876  LUA: LUA: Init => 3.629999999248 ms
2016-05-24 11:05:53.889  LUA: LUA: Encoding => 13.405999998213 ms
2016-05-24 11:05:53.889  LUA: LUA: Total (Pre PHP) => 17.035999997461 ms
2016-05-24 11:05:53.893  LUA: LUA: Total (Post PHP) => 18.11699999962 ms


De LUA Init is de benodigde tijd voor het inladen van de JSON en BASE64 functies
De LUA Encoding is de benodigde tijd voor het gereed maken van de arrays
De LUA Totals zijn de totalen aan benodigde tijd van het hele script, waar Pre PHP is voor de PHP call en Post PHP na de PHP script call.

Totaal is dus 18.11ms in dit voorbeeld en dan is LUA klaar en heb je alle data die je in LUA hebt dus in PHP arrays zitten.

Dit zorgt ervoor dat je de JSON calls in je script niet meer hoeft te doen in het begin. Waar je nu voor een enkele room op 58ms zit, zou je middels deze methode naar de 20ms gaan, met het voordeel dat je meteen alle data hebt. Het verschil is nog groter met je cron script, daar ga je van 111ms naar 20ms.

Verder zou je dan natuurlijk je PHP code kunnen aanpassen, gezien je geen data meer hoeft op te vragen via de JSON API, die staat tenslotte allemaal in de arrays in PHP.

Wat denk je daar van ? :)

Edit: Voorbeeldje met schakelen
code:
1
2
3
4
5
6
7
8
9
2016-05-24 11:25:52.847  (Aeon Labs ZWAVE Plus Gen5) Light/Switch (Aanbouw - Motion)
2016-05-24 11:25:52.923  User: Admin initiated a switch command
2016-05-24 11:25:52.924  OpenZWave: Domoticz has send a Switch command!, Level: 255, NodeID: 6 (0x06)
2016-05-24 11:25:52.953  LUA: LUA: Init => 3.9220000035129 ms
2016-05-24 11:25:52.966  LUA: LUA: Encoding => 13.999999995576 ms
2016-05-24 11:25:52.966  LUA: LUA: Total (Pre PHP) => 17.921999999089 ms
2016-05-24 11:25:52.970  LUA: LUA: Total (Post PHP) => 19.047000001592 ms
2016-05-24 11:25:52.924  (Aeon Labs ZWAVE Plus Gen5) Light/Switch (Aanbouw - Lampen - Switch)
PHP Duration: 56.59 ms

[ Voor 15% gewijzigd door Intellium op 24-05-2016 11:29 . Reden: Voorbeeld toegevoegd ]

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!
ThinkPadd schreef op dinsdag 24 mei 2016 @ 11:12:
[...]

Volgens mij laat je dan gewoon de waarde 'On' of 'Off' weg en kijk je alleen naar devicechanged['mijndevice']

Zo dus:
code:
1
if (devicechanged['Deurbel beneden']) then

De haakjes eromheen '(' en ')' kun je volgens mij zelfs weglaten, maar dat moet je proberen, weet ik zo niet.
Ik ga een paar opzetjes proberen te maken die ik kan testen als de verbinding offline is. Wordt vervolgd.

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!

Verwijderd

Ik ben natuurlijk te vinden voor sneller reageren ;)
Zal me wel wat moeite kosten om die manier van programmeren onder de knie te krijgen.
Bij mij zijn het allemaal simpele variabelen die ik kan vergelijken.
Variabelen zijn eenvoudig. Alles wat begint met $S is de status, $ST de update time en $SI de idx. Alles wat begint met $T zijn thermometers, $R setpoints.

Hoe zou bij jou dit er ongeveer uit zien?
PHP:
1
2
3
if($Sdeurbadkamer=='Closed' && ($Tbadkamer < 22 || $Tbadkamer < $Rbadkamer) && ($Slichtbadkamer1=='On'||$Slichtbadkamer2=='On')) {
        if($Sbadkamervuur=='Off') {Schakel($SIbadkamervuur,'On','badkamervuur');$Sbadkamervuur='On';}
    } else if($Tbadkamer > 22 && $Tbadkamer > $Rbadkamer && $Sbadkamervuur=='On') {Schakel($SIbadkamervuur,'Off','badkamervuur');$Sbadkamervuur='Off';}

Bovenstaande schakelt een elektrisch voor in de badkamer, op voorwaarde dat de deur dicht is en 1 van de lichten aan ligt en de temperatuur lager dan 22 of de temperatuur lager dan een setpoint.

Acties:
  • 0 Henk 'm!

  • Blackouts
  • Registratie: Oktober 2010
  • Laatst online: 28-09 13:57
Versterkt een betere antenne eigenlijk zowel ontvangst als verzending? Of alleen verzendend bereik?

Maar goed, ik zeg ook maar wat....


Acties:
  • 0 Henk 'm!
Beiden, maar als je sensor al een zwak signaal uitzend dan zal een joekel van een antenne daar niet heel veel in helpen. De sensor zal je dan ook moeten voorzien van een grotere antenne (sprietje van 17cm koperdraad is al genoeg vaak).

Acties:
  • 0 Henk 'm!

  • Blackouts
  • Registratie: Oktober 2010
  • Laatst online: 28-09 13:57
Draadje van 17cm had ik al geprobeerd inderdaad. De ontvangst zit net op het randje. Een paar meter dichterbij en het sensor signaal wordt gewoon ontvangen. Toch maar eens proberen met een dipool antenne dan.

Maar goed, ik zeg ook maar wat....


Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op dinsdag 24 mei 2016 @ 11:38:
[...]

Ik ben natuurlijk te vinden voor sneller reageren ;)
Zal me wel wat moeite kosten om die manier van programmeren onder de knie te krijgen.
Bij mij zijn het allemaal simpele variabelen die ik kan vergelijken.
Variabelen zijn eenvoudig. Alles wat begint met $S is de status, $ST de update time en $SI de idx. Alles wat begint met $T zijn thermometers, $R setpoints.

Hoe zou bij jou dit er ongeveer uit zien?
PHP:
1
2
3
if($Sdeurbadkamer=='Closed' && ($Tbadkamer < 22 || $Tbadkamer < $Rbadkamer) && ($Slichtbadkamer1=='On'||$Slichtbadkamer2=='On')) {
        if($Sbadkamervuur=='Off') {Schakel($SIbadkamervuur,'On','badkamervuur');$Sbadkamervuur='On';}
    } else if($Tbadkamer > 22 && $Tbadkamer > $Rbadkamer && $Sbadkamervuur=='On') {Schakel($SIbadkamervuur,'Off','badkamervuur');$Sbadkamervuur='Off';}

Bovenstaande schakelt een elektrisch voor in de badkamer, op voorwaarde dat de deur dicht is en 1 van de lichten aan ligt en de temperatuur lager dan 22 of de temperatuur lager dan een setpoint.
Zou er ongeveer zo uitzien dan:
PHP:
1
2
3
if($this->devicestatus=='Closed' && ($this->otherdevices['badkamer_temp'] < 22 || $this->otherdevices['badkamer_temp'] < $this->otherdevices['badkamer_set']) && ($this->otherdevices['badkamer_licht1']=='On'||$this->otherdevices['badkamer_licht2']=='On')) {
    if($this->otherdevices['badkamer_vuur']=='Off') {$this->toggleSwitch($this->otherdevices_idx['badkamer_vuur'],'On')}
} else if($this->otherdevices['badkamer_temp'] > 22 && $this->otherdevices['badkamer_temp'] > $this->otherdevices['badkamer_set'] && $this->otherdevices['badkamer_vuur']=='On') {$this->toggleSwitch($this->otherdevices_idx['badkamer_vuur'],'Off')}


Je zou het ook alle logica op IDX kunnen doen, wat ik nu doe. Verder heb ik voor event handling een opzet waarin alle IDX's waar op geacteerd moet worden in een array worden gezet met een callback function

PHP:
1
2
3
4
$this->events   = array(
                177     => 'event_test', //Kantoor - Eye - Motion
                210     => 'aanbouw_motion' //Aanbouw - Motion
                );


In het main.php script die aangeroepen wordt door de LUA scripts zit dan de volgende check :
PHP:
1
2
3
4
5
//EVENT / LOGIC Handling
    if(isset($devidx) && isset($dom->events[$devidx]))
    {
        call_user_func(array($dom,$dom->events[$devidx]));
    }


Deze controlleerd dus of de IDX van het devicechanged device in de event array voorkomt, zoja, dan wordt de functie aangeroepen om het event af te handelen.

Voor beweging in de aanbouw ziet die functie er dan als volgt uit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
function aanbouw_motion()
    {
        if($this->devicestatus == "On") //Motion has been detected just now
        {
            //Check for LUX level and light switch status
            if($this->otherdevices[$this->idxToName(212)] < 70 && $this->otherdevices[$this->idxToName(81)] == "Off")
            {
                //Conditions met to turn on the light
                $switch = $this->toggleSwitch(81,"On");
                $vars   = $this->setVariable("aanbouw_motion_lights",2,"On",2);
            }
        }
    }


Dat is de huidige opzet waar ik mee aan het spelen ben om te kijken of dat prettig werkt. Opmerkingen hoor ik graag :)

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!
Ik heb het volgende lua script nu draaien (afgeleid van de garagedeur-lua):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-- script_time_nefit.lua
t1 = os.time()
s = otherdevices_lastupdate['Nefit | Temp woonkamer']
-- returns a date time like 2013-07-11 17:23:12
 
year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)
 
commandArray = {}
 
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = (os.difftime (t1, t2))
if (otherdevices['Nefit | Temp woonkamer'] and difference > 600 and difference < 700) then
   commandArray['SendNotification']='Nefit Easy alert#No updates recorded for 10 minutes!'
else
print ('<b style="color:Blue">Nefit Easy is still up and running........')

end 
 
return commandArray


Ik krijg keurig elke minuut de melding in het log te zien dat alles nog naar wens verloopt (ik laat het tijdelijk even zo), en ik moet nog even kijken of ik een melding krijg als de updates stoppen. Zoals het hier nu staat zou het na 10 minuten (600 sec.) moeten roepen dat er iets mis is en dat blijven roepen totdat de 700sec. verstreken zijn.

Ik ben vanavond pas laat thuis zodat ik dan pas (als ik eraan denk) de thermostaat even van de muur kan halen om te testen. Maar als iemand hier nog fouten in ziet, dan hoor ik dat graag natuurlijk :) !

Edit: dat heeft natuurlijk geen zin....toch? De Easy server maakt verbinding met de Bosch backend, dus ik moet wachten tot deze de verbinding blokkeert voordat ik weet of het script werkt |:(

Ohja, wat ik wel gek vind: als ik de regel "commandArray['SendNotification']='Nefit Easy alert#No updates recorded for 10 minutes!'" onder de print regel zet (om te testen), dan verschijnt er dit:

"2016-05-24 12:15:00.938 Kodi Notification (192.168.0.100:9777, TTL 5): Nefit Easy alert, No updates recorded for 10 minutes!, Icon /usr/local/domoticz/www//images/logo.png"

Wat dit met Kodi te maken heeft weet ik niet, misschien moet ik daar eerst een <br> voor gebruiken en komt de melding toevallig op dezelfde regel als Kodi, maar dan nog snap ik de "Icon /usr/local/domoticz/www//images/logo.png" niet die erachter wordt geplaatst. Iemand?

[ Voor 4% gewijzigd door M.v.Veelen op 24-05-2016 12:32 ]

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!

Verwijderd

Intellium schreef op dinsdag 24 mei 2016 @ 12:07:
[...]


Zou er ongeveer zo uitzien dan:
PHP:
1
2
3
if($this->devicestatus=='Closed' && ($this->otherdevices['badkamer_temp'] < 22 || $this->otherdevices['badkamer_temp'] < $this->otherdevices['badkamer_set']) && ($this->otherdevices['badkamer_licht1']=='On'||$this->otherdevices['badkamer_licht2']=='On')) {
    if($this->otherdevices['badkamer_vuur']=='Off') {$this->toggleSwitch($this->otherdevices_idx['badkamer_vuur'],'On')}
} else if($this->otherdevices['badkamer_temp'] > 22 && $this->otherdevices['badkamer_temp'] > $this->otherdevices['badkamer_set'] && $this->otherdevices['badkamer_vuur']=='On') {$this->toggleSwitch($this->otherdevices_idx['badkamer_vuur'],'Off')}


Je zou het ook alle logica op IDX kunnen doen, wat ik nu doe. Verder heb ik voor event handling een opzet waarin alle IDX's waar op geacteerd moet worden in een array worden gezet met een callback function

PHP:
1
2
3
4
$this->events   = array(
                177     => 'event_test', //Kantoor - Eye - Motion
                210     => 'aanbouw_motion' //Aanbouw - Motion
                );


In het main.php script die aangeroepen wordt door de LUA scripts zit dan de volgende check :
PHP:
1
2
3
4
5
//EVENT / LOGIC Handling
    if(isset($devidx) && isset($dom->events[$devidx]))
    {
        call_user_func(array($dom,$dom->events[$devidx]));
    }


Deze controlleerd dus of de IDX van het devicechanged device in de event array voorkomt, zoja, dan wordt de functie aangeroepen om het event af te handelen.

Voor beweging in de aanbouw ziet die functie er dan als volgt uit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
function aanbouw_motion()
    {
        if($this->devicestatus == "On") //Motion has been detected just now
        {
            //Check for LUX level and light switch status
            if($this->otherdevices[$this->idxToName(212)] < 70 && $this->otherdevices[$this->idxToName(81)] == "Off")
            {
                //Conditions met to turn on the light
                $switch = $this->toggleSwitch(81,"On");
                $vars   = $this->setVariable("aanbouw_motion_lights",2,"On",2);
            }
        }
    }


Dat is de huidige opzet waar ik mee aan het spelen ben om te kijken of dat prettig werkt. Opmerkingen hoor ik graag :)
Bedankt voor het meedenken :)

Echter,
even de code zoveel mogelijk ingekort kom ik bij:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/php
<?php
class domoticz {
    function __construct() {$this->api  = "http://127.0.0.1:8084/json.htm";}
    function toggleSwitch($idx,$state="") {
        if(!empty($state)) {
            $key    = array_search($idx, $this->otherdevices_idx);
            $state  = ($this->otherdevices[$key] == "Off" ? "On" : "Off");
            $switch = file_get_contents($this->api . "?type=command&param=switchlight&idx=" . $idx . "&switchcmd=" . $state);
            $switch = json_decode($switch,true);
            return($switch);
        } else {
            $switch = file_get_contents($this->api . "?type=command&param=switchlight&idx=" . $idx . "&switchcmd=" . $state);
            $switch = json_decode($switch,true);
            return($switch);
        }
    }
}
    $dom    = new domoticz;
    switch($argv[1]) {
        case "device":
            $dom->devicechanged             = json_decode(base64_decode($argv[2]),true);
            $dom->otherdevices              = json_decode(base64_decode($argv[3]),true);
            $dom->otherdevices_lastupdate   = json_decode(base64_decode($argv[4]),true);
            $dom->otherdevices_svalues      = json_decode(base64_decode($argv[5]),true);
            $dom->otherdevices_idx          = json_decode(base64_decode($argv[6]),true);
            $dom->uservariables             = json_decode(base64_decode($argv[7]),true);
            $dom->timeofday                 = json_decode(base64_decode($argv[8]),true);
            $dom->devicestatus              = $dom->otherdevices[key($dom->devicechanged)];
            
            $devidx = $dom->otherdevices_idx[key($dom->devicechanged)];
            break;
        default:
            print("Unknown case! (" . $argv[1] . ")\r\n");
            break;
    }

if(($dom->otherdevices['pirgarage']=='On'||$dom->otherdevices['poort']=='Open')&&$dom->otherdevices['garage']=='Off'&&$dom->otherdevices['garage_auto']=='On') 
            $dom->toggleSwitch($dom->otherdevices_idx['garage'],'On');

Het werkt, licht wordt ingeschakeld.

Echter, na 0,3 sec. Terwijl het met m'n vorige aanpassing na 0,12 sec was.
Dus, ik kan rustig mijn code blijven gebruiken. Grootste winst heb ik vandaag gehaald door het PHP script op te roepen door een script_device.lua script ipv de on/off actions voorheen.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik krijg het niet voor elkaar om de waarde van een dummy tekst sensor te updaten via LUA. Ik heb een variabele in mijn script en wil deze graag naar de virtuele tekst sensor schrijven.

Iemand toevallig een tip?

Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op dinsdag 24 mei 2016 @ 13:20:
[...]

Bedankt voor het meedenken :)

Echter,
even de code zoveel mogelijk ingekort kom ik bij:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/php
<?php
class domoticz {
    function __construct() {$this->api  = "http://127.0.0.1:8084/json.htm";}
    function toggleSwitch($idx,$state="") {
        if(!empty($state)) {
            $key    = array_search($idx, $this->otherdevices_idx);
            $state  = ($this->otherdevices[$key] == "Off" ? "On" : "Off");
            $switch = file_get_contents($this->api . "?type=command&param=switchlight&idx=" . $idx . "&switchcmd=" . $state);
            $switch = json_decode($switch,true);
            return($switch);
        } else {
            $switch = file_get_contents($this->api . "?type=command&param=switchlight&idx=" . $idx . "&switchcmd=" . $state);
            $switch = json_decode($switch,true);
            return($switch);
        }
    }
}
    $dom    = new domoticz;
    switch($argv[1]) {
        case "device":
            $dom->devicechanged             = json_decode(base64_decode($argv[2]),true);
            $dom->otherdevices              = json_decode(base64_decode($argv[3]),true);
            $dom->otherdevices_lastupdate   = json_decode(base64_decode($argv[4]),true);
            $dom->otherdevices_svalues      = json_decode(base64_decode($argv[5]),true);
            $dom->otherdevices_idx          = json_decode(base64_decode($argv[6]),true);
            $dom->uservariables             = json_decode(base64_decode($argv[7]),true);
            $dom->timeofday                 = json_decode(base64_decode($argv[8]),true);
            $dom->devicestatus              = $dom->otherdevices[key($dom->devicechanged)];
            
            $devidx = $dom->otherdevices_idx[key($dom->devicechanged)];
            break;
        default:
            print("Unknown case! (" . $argv[1] . ")\r\n");
            break;
    }

if(($dom->otherdevices['pirgarage']=='On'||$dom->otherdevices['poort']=='Open')&&$dom->otherdevices['garage']=='Off'&&$dom->otherdevices['garage_auto']=='On') 
            $dom->toggleSwitch($dom->otherdevices_idx['garage'],'On');

Het werkt, licht wordt ingeschakeld.

Echter, na 0,3 sec. Terwijl het met m'n vorige aanpassing na 0,12 sec was.
Dus, ik kan rustig mijn code blijven gebruiken. Grootste winst heb ik vandaag gehaald door het PHP script op te roepen door een script_device.lua script ipv de on/off actions voorheen.
Klinkt alsof je nog de oude base64 encode function in LUA gebruikt (die was tergend langzaam). Gebruik je de ee5_base64.lua file van https://github.com/ErnieE...lob/master/ee5_base64.lua in je device script?

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb nu deze lijnen:

JSON = (loadfile '/volume1/@appstore/domoticz/var/scripts/lua/JSON.lua')()
JSON = (loadfile '/volume1/@appstore/domoticz/var/scripts/lua/ee5_base64.lua')()


maar dan krijg ik
2016-05-24 13:55:02.582 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_pass2php.lua: /volume1/@appstore/domoticz/var/scripts/lua/ee5_base64.lua:675: unsupported mode

Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op dinsdag 24 mei 2016 @ 13:55:
Ik heb nu deze lijnen:

JSON = (loadfile '/volume1/@appstore/domoticz/var/scripts/lua/JSON.lua')()
JSON = (loadfile '/volume1/@appstore/domoticz/var/scripts/lua/ee5_base64.lua')()


maar dan krijg ik
2016-05-24 13:55:02.582 Error: EventSystem: in /usr/local/domoticz/var/scripts/lua/script_device_pass2php.lua: /volume1/@appstore/domoticz/var/scripts/lua/ee5_base64.lua:675: unsupported mode
Ik zou hem even anders neerzetten :) Kijk naar de mijne :

code:
1
2
3
4
5
-- INIT JSON
JSON = (loadfile '/src/domoticz/scripts/lua/JSON.lua')()

-- INIT BASE64
base64  = loadfile('/src/domoticz/scripts/lua/ee5_base64.lua')()

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

Verwijderd

En de rest blijft dan hetzelfde?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
-- INIT JSON
JSON = (loadfile '/volume1/@appstore/domoticz/var/scripts/lua/JSON.lua')()

-- INIT BASE64
base64  = (loadfile '/volume1/@appstore/domoticz/var/scripts/lua/ee5_base64.lua')()

-- B64 ENCODE function
local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'

-- encoding
function enc(data)
    return ((data:gsub('.', function(x) 
        local r,b='',x:byte()
        for i=8,1,-1 do r=r..(b%2^i-b%2^(i-1)>0 and '1' or '0') end
        return r;
    end)..'0000'):gsub('%d%d%d?%d?%d?%d?', function(x)
        if (#x < 6) then return '' end
        local c=0
        for i=1,6 do c=c+(x:sub(i,i)=='1' and 2^(6-i) or 0) end
        return b:sub(c+1,c+1)
    end)..({ '', '==', '=' })[#data%3+1])
end
-- END B64 ENCODE function

-- MAIN
enc_devicechanged           = enc(JSON:encode(devicechanged))
enc_otherdevices            = enc(JSON:encode(otherdevices))
enc_otherdevices_lastupdate = enc(JSON:encode(otherdevices_lastupdate))
enc_otherdevices_svalues    = enc(JSON:encode(otherdevices_svalues))
enc_otherdevices_idx        = enc(JSON:encode(otherdevices_idx))
enc_uservariables           = enc(JSON:encode(uservariables))
enc_timeofday               = enc(JSON:encode(timeofday))

os.execute('/volume1/web/secure/pass2php.php "device" "' ..enc_devicechanged.. '" "' ..enc_otherdevices.. '" "' ..enc_otherdevices_lastupdate.. '" "' ..enc_otherdevices_svalues.. '" "' ..enc_otherdevices_idx.. '" "' ..enc_uservariables.. '"  "' ..enc_timeofday.. '" &')
-- END MAIN

commandArray = {}
return commandArray
geeft nog steeds ca 0,25 sec reactie tijd.

Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op dinsdag 24 mei 2016 @ 14:22:
En de rest blijft dan hetzelfde?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
-- INIT JSON
JSON = (loadfile '/volume1/@appstore/domoticz/var/scripts/lua/JSON.lua')()

-- INIT BASE64
base64  = (loadfile '/volume1/@appstore/domoticz/var/scripts/lua/ee5_base64.lua')()

-- B64 ENCODE function
local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'

-- encoding
function enc(data)
    return ((data:gsub('.', function(x) 
        local r,b='',x:byte()
        for i=8,1,-1 do r=r..(b%2^i-b%2^(i-1)>0 and '1' or '0') end
        return r;
    end)..'0000'):gsub('%d%d%d?%d?%d?%d?', function(x)
        if (#x < 6) then return '' end
        local c=0
        for i=1,6 do c=c+(x:sub(i,i)=='1' and 2^(6-i) or 0) end
        return b:sub(c+1,c+1)
    end)..({ '', '==', '=' })[#data%3+1])
end
-- END B64 ENCODE function

-- MAIN
enc_devicechanged           = enc(JSON:encode(devicechanged))
enc_otherdevices            = enc(JSON:encode(otherdevices))
enc_otherdevices_lastupdate = enc(JSON:encode(otherdevices_lastupdate))
enc_otherdevices_svalues    = enc(JSON:encode(otherdevices_svalues))
enc_otherdevices_idx        = enc(JSON:encode(otherdevices_idx))
enc_uservariables           = enc(JSON:encode(uservariables))
enc_timeofday               = enc(JSON:encode(timeofday))

os.execute('/volume1/web/secure/pass2php.php "device" "' ..enc_devicechanged.. '" "' ..enc_otherdevices.. '" "' ..enc_otherdevices_lastupdate.. '" "' ..enc_otherdevices_svalues.. '" "' ..enc_otherdevices_idx.. '" "' ..enc_uservariables.. '"  "' ..enc_timeofday.. '" &')
-- END MAIN

commandArray = {}
return commandArray
geeft nog steeds ca 0,25 sec reactie tijd.
Mijn excuses, ik zal wat duidelijker zijn. Zie hieronder mijn gehele (huidige) LUA device script:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
-- Pass to PHP
-- CONFIG

scriptdir   = '/src/domoticz/scripts/lua'
-- END CONFIG

-- INIT JSON
JSON = (loadfile '/src/domoticz/scripts/lua/JSON.lua')()

-- INIT BASE64
base64  = loadfile('/src/domoticz/scripts/lua/ee5_base64.lua')()

-- MAIN
enc_devicechanged           = base64.encode(JSON:encode(devicechanged))
enc_otherdevices            = base64.encode(JSON:encode(otherdevices))
enc_otherdevices_lastupdate = base64.encode(JSON:encode(otherdevices_lastupdate))
enc_otherdevices_svalues    = base64.encode(JSON:encode(otherdevices_svalues))
enc_otherdevices_idx        = base64.encode(JSON:encode(otherdevices_idx))
enc_uservariables           = base64.encode(JSON:encode(uservariables))
enc_uservariables_lastupdate= base64.encode(JSON:encode(uservariables_lastupdate))
enc_timeofday               = base64.encode(JSON:encode(timeofday))

os.execute(scriptdir .. '/main.php "device" "' ..enc_devicechanged.. '" "' ..enc_otherdevices.. '" "' ..enc_otherdevices_lastupdate.. '" "' ..enc_otherdevices_svalues.. '" "' ..enc_otherdevices_idx.. '" "' ..enc_uservariables.. '"  "' ..enc_uservariables_lastupdate.. '" "' ..enc_timeofday.. '" &')
-- END MAIN

commandArray = {}
return commandArray


De oude base64 functie zit dus niet meer in het device script, en de encoding van de vars is aangepast om de base64 encoding uit de ee5_base64.lua te gebruiken

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

Verwijderd

Aha!
Nu geraken we er:
2016-05-24 14:54:15.219 (ZWAVE) Light/Switch (pirliving)
2016-05-24 14:54:15.301 User: Admin initiated a switch command

Nu nog beetje zien op te kuisen wat ik niet nodig heb zoals timeofday en uservariables...

Acties:
  • 0 Henk 'm!

  • Raymond P
  • Registratie: September 2006
  • Laatst online: 21:27
Misschien dat ik eroverheen kijk, maar wat doen jullie met die gewonnen milliseconden?

- knip -


Acties:
  • 0 Henk 'm!

Verwijderd

Genieten van een hypersnel reagerend systeem en daarbij uiteraard af en toe een pintje pakken :P

Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Raymond P schreef op dinsdag 24 mei 2016 @ 15:02:
Misschien dat ik eroverheen kijk, maar wat doen jullie met die gewonnen milliseconden?
Aangezien wij alles overhevelen naar PHP, hebben we daardoor wat overhead. Door de besparingen in ms is het effect van de overhead minder en kunnen wij blij in PHP blijven knutselen zonder te veel delays :)

PS. en natuurlijk die pintjes pakken :+

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

  • Raymond P
  • Registratie: September 2006
  • Laatst online: 21:27
Nou vooruit dan. :P

Sinds ik m'n domoticz installatie verplaatst heb van een systeem op SSD naar m'n thuisserver met een trage 5400rpm schijf gaat het allemaal merkbaar langzamer hier.

Mijn minuut cron doet alle uservariables, devices en scenes ophalen en extern weerdata, aanwezigheidsdata via wifi, tado thermostaat data ophalen, data van televisies die mogelijk aan staan ophalen en alle bijbehordende logic binnen 400ms.

Gemeten met time, dus inclusief de tijd dat het duurt voordat mijn Perl scriptje klaar is om iets te gaan doen.

Ik heb nog ergens een socket server scriptje liggen die direct data uit de database pompt. wellicht is die weg leuk om te bewandelen als je de laatste ms eruit wilt persen. Dat LUA vind ik verschrikkelijk namelijk.

- knip -


Acties:
  • 0 Henk 'm!

Verwijderd

Net omdat ik lua ook verschrikkelijk vind wil ik alles naar PHP.
Ik ging eerst de JSON opvragen maar dankzij het script van Intellium krijg ik alle statussen meteen binnen en daar zit toch wel aardig wat milliseconden winst in.

@Intellium: enig idee hoe $dom->otherdevices_lastupdate meteen een unix timestamp kan worden?

[ Voor 17% gewijzigd door Verwijderd op 24-05-2016 15:27 ]


Acties:
  • +1 Henk 'm!

Verwijderd

bramv82 schreef op maandag 23 mei 2016 @ 21:38:
Ik heb sinds kort een Imagintronix XH 300 bodem vochtigheidssensor. Helaas bereikt deze vanuit de achtertuin niet de RPI met RFLink in de meterkast bij de voordeur. Ik heb de antenne van de sensor al verlengd met een 17.5 cm koperdraad, maar dit is helaas niet voldoende.

Ik ben dus aan het kijken hoe ik het bereik kan vergroten. Heeft er iemand ervaring met een dipool antenne zoals deze? Vergroot deze zowel het zend als ontvang bereik?

Een andere optie is om de RPI te verplaatsen naar een centrale plek in huis, en dan via een nog aan te schaffen wifi module te verbinden met het netwerk. Is dit een stabiele oplossing?
http://www.ebay.com/itm/1...geName=STRK%3AMEBIDX%3AIT

Top dingetje! Volgens mij 2x zoveel zendvermogen. NB: illegaal O-)

Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

vmb schreef op zondag 22 mei 2016 @ 12:06:
[...]


Bij mij heeft dit geholpen. Kan nu idd ook via app updaten.
Niet te geloven, stap voor stap geupdate, Nieuwste firmware staat er nu inmiddels op.
En binnen domoticz werkt de link...
cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=#USERNAME&pwd=#PASSWORD

Nog niet de functionaliteit wat ik gehoopt had.

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!
kromme schreef op dinsdag 24 mei 2016 @ 15:51:
[...]


Niet te geloven, stap voor stap geupdate, Nieuwste firmware staat er nu inmiddels op.
En binnen domoticz werkt de link...
cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=#USERNAME&pwd=#PASSWORD

Nog niet de functionaliteit wat ik gehoopt had.
Mooi dat het gelukt is.

Welke functionaliteit verwacht je dan?

Acties:
  • 0 Henk 'm!

Verwijderd

@Intellium: Wil je even kijken of ik op goede weg ben om jouw code te gebruiken aub?
https://gist.github.com/E...5b1f02ebe91fd7d6035a30640

Kost redelijk wat tijd om alles om te bouwen, maar het schakelen gaat lekker vlot. Gemiddeld 12 msec.
Ik heb de code zover mogelijk geminimaliseerd, elke byte is een byte ;)
En samengevoegd in 1 bestand, dat scheelt ook weer 1 msec :P

[ Voor 6% gewijzigd door Verwijderd op 25-05-2016 10:02 ]


Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

MikeOO schreef op woensdag 25 mei 2016 @ 08:53:
[...]


Mooi dat het gelukt is.

Welke functionaliteit verwacht je dan?
Ik heb nu een fictieve switch gemaakt, camera eraan gehangen. Als ik dan klik zie ik inderdaad het beeld van de camera maar zo klein. dan is de losse app fijner.

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!

Verwijderd

Ik vind een losse webpagina met de stream prettiger werken dan de meeste apps.
Uiteraard wel een login methode inbouwen zodat de stream niet publiek zichtbaar is ;)

Acties:
  • 0 Henk 'm!

  • commentator
  • Registratie: Mei 2004
  • Laatst online: 27-09 22:17
Ik zit er over te denken om via domoticz mijn tv/sonos/ziggo horizon enz allemaal te gaan bedienen.
Nu lees ik dat ik daar de Logitech Harmony hub voor nodig heb. Maar als ik daar op zoek komen er twee op.
De Harmony Hub en de Harmony Ultimate Hub.

Welke is nu het beste geschikt want zowel hier in de pricewatch vergelijking / specificaties als bij Logitech specificaties kom ik er niet uit. Wie kan me hier in adviseren?

Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op woensdag 25 mei 2016 @ 09:40:
@Intellium: Wil je even kijken of ik op goede weg ben om jouw code te gebruiken aub?
https://gist.github.com/E...5b1f02ebe91fd7d6035a30640

Kost redelijk wat tijd om alles om te bouwen, maar het schakelen gaat lekker vlot. Gemiddeld 12 msec.
Ik heb de code zover mogelijk geminimaliseerd, elke byte is een byte ;)
En samengevoegd in 1 bestand, dat scheelt ook weer 1 msec :P
Haha, lekker bezig :D

Ik hou de mijne nog even wat uitgebreider terwijl ik ermee speel (leest wat makkelijker) :p

Verder ziet het er wat mij betreft prima uit. Hoe vindt je dat de event afhandeling werkt op deze manier?

[ Voor 0% gewijzigd door Intellium op 25-05-2016 11:26 . Reden: typo ]

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

Verwijderd

Het is even aanpassen :P
Ik was gewoon dat alle statussen in variabelen stonden, en dat elk device waarbij dit nodig was het volledige script uitvoert.
Nu is het per device dat er een functie en dus maar een deeltje uitgevoerd wordt.
Maar als het eindresultaat een sneller systeem is heb ik er het gerust voor over om er een paar dagen mee bezig te zijn.
Ook een aantal van mijn functies moeten omgebouwd worden, zoals voor Denon, Telegram, iOS, updatedevice, en wel nog een hoopje :)

In ieder geval: DIKKE MERCI!

edit: O ja, ook wel aantal devices te hernoemen. Blijkbaar mag je geen schakelaar, setpoint en thermometer met dezelfde naam hebben. Dan blijft er maar 1 van over :P

[ Voor 13% gewijzigd door Verwijderd op 25-05-2016 11:42 ]


Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op woensdag 25 mei 2016 @ 11:39:
Het is even aanpassen :P
Ik was gewoon dat alle statussen in variabelen stonden, en dat elk device waarbij dit nodig was het volledige script uitvoert.
Nu is het per device dat er een functie en dus maar een deeltje uitgevoerd wordt.
Maar als het eindresultaat een sneller systeem is heb ik er het gerust voor over om er een paar dagen mee bezig te zijn.
Ook een aantal van mijn functies moeten omgebouwd worden, zoals voor Denon, Telegram, iOS, updatedevice, en wel nog een hoopje :)

In ieder geval: DIKKE MERCI!
Goed om te horen.

Ik moet zelf ook nog een berg ombouwen (komende vanaf een eigen Domotica systeem in PHP) al mijn scripts en data invoer aanpassen naar Domoticz (IPbrain, Zonnepanelen, etc.)

Telegram heb ik een eigen webservice voor gemaakt intern, misschien dat ik die ook nog even ombouw.

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

Verwijderd

Ik gebruik telegram puur voor notificaties dus de code valt wel mee:
PHP:
1
2
3
 function telegram($msg,$silent=true) {
    $telegramchatid=5678;
    return file_get_contents('https://api.telegram.org/bot12345678:AAEZ-xCRhO-RBfUqICiJs8q9A_3YIr9irxI/sendMessage',false,stream_context_create(array('http'=>array('method'=>'POST','header'=>"Content-Type:application/x-www-form-urlencoded\r\n",'content'=>http_build_query(array('chat_id'=>$telegramchatid,'text'=>$msg,'disable_notification'=>$silent)),),)));


Gebruik:
PHP:
1
2
telegram('Dit is een stille notificatie');
telegram('En deze zal geluid maken',false); //False = niet stil

Acties:
  • 0 Henk 'm!

  • Intellium
  • Registratie: Maart 2001
  • Laatst online: 29-12-2024
Verwijderd schreef op woensdag 25 mei 2016 @ 11:45:
Ik gebruik telegram puur voor notificaties dus de code valt wel mee:
PHP:
1
2
3
 function telegram($msg,$silent=true) {
    $telegramchatid=5678;
    return file_get_contents('https://api.telegram.org/bot12345678:AAEZ-xCRhO-RBfUqICiJs8q9A_3YIr9irxI/sendMessage',false,stream_context_create(array('http'=>array('method'=>'POST','header'=>"Content-Type:application/x-www-form-urlencoded\r\n",'content'=>http_build_query(array('chat_id'=>$telegramchatid,'text'=>$msg,'disable_notification'=>$silent)),),)));


Gebruik:
PHP:
1
2
telegram('Dit is een stille notificatie');
telegram('En deze zal geluid maken',false); //False = niet stil
Interessant, zal er dalijk even verder naar kijken. Wil uiteindelijk ook de bot gebruiken voor foto's en commando's etc. Hier had ik al een heel framework voor, voor een ander projectje.

-==||| INSANE |||==-


Acties:
  • 0 Henk 'm!

  • Jan20
  • Registratie: April 2006
  • Laatst online: 25-09 15:25

Jan20

CMJJKFE

Ik zit met een vraag of mijn zwave module goed herkend wordt onder domoticz. De volgende dingen heb ik gedaan omdat ik een Rasberry 3 heb:

Update Raspbian to the latest:

sudo apt-get update
sudo apt-get upgrade

Update RPI3B firmware to the latest:

sudo apt-get install rpi-update
sudo rpi-update

After this: REBOOT

Disable BT on RPI3B:

Open the /boot/config.txt

sudo nano /boot/config.txt

At the end add the line:

dtoverlay=pi3-disable-bt

exit with ctrl-X, select Yes

After this: REBOOT

set the correct baudrate:

stty -F /dev/ttyAMA0 9600

Nu brand er geen led lampje op mijn Raspberry Pi Z-WAVE 2.0 en zie ik bij de mainpage van domoticz staan dat er geen device is dected? Wat doe ik precies fout en hoe kan ik zien of die mijn module wel heft gevonden?

CMJJKFE


Acties:
  • 0 Henk 'm!
kromme schreef op woensdag 25 mei 2016 @ 09:47:
[...]


Ik heb nu een fictieve switch gemaakt, camera eraan gehangen. Als ik dan klik zie ik inderdaad het beeld van de camera maar zo klein. dan is de losse app fijner.
Klopt dit is geen beeldvullend iets maar hangt ook af hoe groot het scherm is waarmee je Domoticz opent.
Op een PC valt het nog wel mee maar is meer iets voor even snel kijken.

Zelf gebruik ik Domoticz betaalde versie voor op de Telefoon en hiermee kun je ook de camera's bekijken.
Voor een goede streaming gebruik ik de Focam app zelf. Hiemee loopt het beeld vloeiend terwijl via Domoticz ik beelden mis en het schokkend gaat.

Als er een auto voorbij komt dan zie ik deze via Domoticz niet voorbij gaan of 1 beeldje met de auto en dan is deze weer weg.

Met de Foscam App zie ik de auto gewoon voorbij rijden. Op zich vreemd aangezien de beelden via de camera naar --> Foscam Cloud --> Mobiele telefoon gaan en je verwacht in dit gehele traject eerder een vertraging dan je lokale systeem wat een veel korte traject heeft. Maar het zal te maken hebben met de manier waarop Domoticz met de streams omgaat.

Acties:
  • 0 Henk 'm!

  • gielie
  • Registratie: September 2005
  • Laatst online: 22:18
Ik heb een vraag aangaande de hardware en domoticz.
Ik heb een raspberry pi 2 met domoticz erop en ik wil hier een 3,5 inch touch screen via de gpio aansluiten.
Weet iemand hoe ik de drivers moet installeren en of ik dan domoticz op dat schermpje kan bedienen.

Ik kan wel complete img vinden om het scherm aan de praat te krijgen maar niet hoe ik deze aan een bestaand systeem kan toevoegen. De drivers heb ik wel maar hoe installeer ik dit?

"Death smiles at us all, all a man can do is smile back." - Maximus Decimus Meridius


Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

Is er iemand die weet waarom ik alleen mijn eigen devices zie staan? Eerder zag ik alle devices van de buren ook. Tevens meen ik als ik mijn eurodemest handmatig uit zette in het verleden dat dit ook uit ging in domoticz. Maar daar blijft hij op aan staan.

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!

  • maomanna
  • Registratie: Februari 2006
  • Laatst online: 27-09 19:34
kromme schreef op donderdag 26 mei 2016 @ 09:56:
Is er iemand die weet waarom ik alleen mijn eigen devices zie staan? Eerder zag ik alle devices van de buren ook. Tevens meen ik als ik mijn eurodemest handmatig uit zette in het verleden dat dit ook uit ging in domoticz. Maar daar blijft hij op aan staan.
Waarom zou je ook de devices van je buren willen zien? Dan lijkt mij alleen maar irritant.

https://pvoutput.org/intraday.jsp?id=102416&sid=90116


Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 22:05

DizzyWeb

Ondertiteld

Zo te zien zijn die eurodomest dingen 433MHz, zover ik weet is dat allemaal eenrichtingsverkeer, dus Domoticz kan helemaal niet weten dat jij zelf die schakelaar omgezet hebt.

Acties:
  • 0 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 20:42

DukeBox

loves wheat smoothies

gielie schreef op donderdag 26 mei 2016 @ 09:33:
Ik heb een raspberry pi 2 met domoticz erop en ik wil hier een 3,5 inch touch screen via de gpio aansluiten.
Weet iemand hoe ik de drivers moet installeren en of ik dan domoticz op dat schermpje kan bedienen.
Dit heeft natuurlijk niets met domoticz te maken.. het installeren van drivers/modules onder linux is per scherm verschillend. De meeste zitten tegenwoordig ingebakken. Overigens gebruik je geen GPIO maar SPI, heb je die al aangezet in raspi-config ?
Een scherm via SPI kan je gewoon aansturen als ieder ander scherm met framebuffer destination, je zou bijv. een fullscreen/kiosk browser naar het scherm kunnen sturen, zo gebruik ik het ook op mijn schermpjes.

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • 0 Henk 'm!
Ik heb een Fibaro FGD-211 dimmer die ik wil aansluiten zónder schakelaar. Deze moet alleen bediend worden door Domoticz. Ik kan verder alleen maar schema's vinden met een enkele of een dubbele schakelaar. Iemand die me kan vertellen hoe ik deze zonder een schakelaar precies aan kan sluiten?

Afbeeldingslocatie: http://www.vesternet.com/media/catalog/product/cache/1/image/1800x/040ec09b1e35df139433887a97daa66f/f/i/fib_fgd-211.jpg

¯\_(ツ)_/¯


Acties:
  • 0 Henk 'm!

  • R-B
  • Registratie: Mei 2003
  • Laatst online: 23-09 08:27

R-B

Blokkert

M.v.Veelen schreef op donderdag 26 mei 2016 @ 13:30:
Ik heb een Fibaro FGD-211 dimmer die ik wil aansluiten zónder schakelaar. Deze moet alleen bediend worden door Domoticz. Ik kan verder alleen maar schema's vinden met een enkele of een dubbele schakelaar. Iemand die me kan vertellen hoe ik deze zonder een schakelaar precies aan kan sluiten?

[afbeelding]
Volgens mij gewoon "domweg" die schakeling voorbeelden aanhouden, en de "fysieke" schakelaar gewoon weglaten.

| NL | 2.2k Wp (ZW) | MHI SRC/SRK35ZS-W2 & ME MXZ-2F42+AP20+AP25 | MT E 5.12KWh V151+CT003 V114 | Home Assistant |


Acties:
  • 0 Henk 'm!

  • kromme
  • Registratie: April 2004
  • Laatst online: 16:51

kromme

Doe hubs slaag in het koffer..

maomanna schreef op donderdag 26 mei 2016 @ 10:27:
[...]


Waarom zou je ook de devices van je buren willen zien? Dan lijkt mij alleen maar irritant.
Het is meer dat ik ze eerst wel zag staan en nu niet meer. Ik vraag me af waarom, en daarbij het weerstation van de buren had ik graag toegevoegd tot ik er zelf een heb. ;)

Na een het terug zetten van de database zie ik er ineens weer 1 bij staan... :S

[ Voor 9% gewijzigd door kromme op 26-05-2016 14:10 ]

Keep it calm...en lek mig de zuk


Acties:
  • 0 Henk 'm!
R-B schreef op donderdag 26 mei 2016 @ 13:32:
[...]


Volgens mij gewoon "domweg" die schakeling voorbeelden aanhouden, en de "fysieke" schakelaar gewoon weglaten.
Zo? Ik heb de zwarte draad zwart/bruin gemaakt omdat het een 2-draads-aansluiting is met een netsnoer + eurostekker.

Dan zou ik de nuldraad die naar de lamp loopt op de N kunnen aansluiten en de fase (in) op N en de schakeldraad op O. Right?

Afbeeldingslocatie: http://i68.tinypic.com/16k994w.jpg

Edit:

zo dus.....

Afbeeldingslocatie: http://ask.z-wave.me/upfiles/dimmer_1.jpg

[ Voor 7% gewijzigd door M.v.Veelen op 26-05-2016 14:04 ]

¯\_(ツ)_/¯

Pagina: 1 ... 62 ... 100 Laatste

Dit topic is gesloten.

Let op:
Voor je je vraag stelt, lees eerst de topicstart eens door om te kijken of je vraag daar wellicht al in staat.

  • De changelog van Domoticz updates (commits) vind je op de Github repo.
  • Ook is er een Domoticz wiki
  • En een eigen Domoticz forum
  • Lees ook de Domoticz handleiding eens door
Gebruik bij het posten van stukjes code de ~~~[code]-tag!
~~~[code=lua] ... ~~~[/code]
~~~[code=python] ... ~~~[/code] etc.