Jump to content


Photo

Bestaat er ook een 'push' API/webhooks functie?


  • Please log in to reply
63 replies to this topic

#1 Rob3rt

  • Senior Member
  • 598 posts

+3
Neutral

Posted 14 January 2023 - 15:50

Zoals je weet kun je een enigma2 box ook via een API benaderen via http://ip.box/web/commands

Je kan dan redelijk veel informatie opvragen van de box zelf.

 

Maar wat ik eigenlijk mis of te wel zoek is een zgn PUSH functie van de box.

Dus zodra er iets wijzigt, bv je zapt naar een andere zender dat hij dan de info kan 'pushen' naar een andere API.

 

Ik zou dit willen gebruiken om mijn enigma2 box meer te willen intrigeren in mijn homeautomation, dat je dus bv dingen kunt laten triggeren via de enigma2 box.

Voorbeeld: je zapt naar de zender Film1 en je wilt dat dan je huis scene's op start (lampen in bepaalde modus etc etc)

 

Nu moet je dus continu gaan 'pollen' vanuit je home automation op welke zender de box staat, het zou veel makkelijker zijn als de eniga2 box een push zou sturen als hij zapt naar een andere zender met de data van die zender.

Op die push kun je dan een scene/flow starten om iets wel of niet uit te laten voeren...

 

Weet iemand of zoiets bestaat, bv via een plugin?



Re: Bestaat er ook een 'push' API/webhooks functie? #2 WanWizard

  • PLi® Core member
  • 70,534 posts

+1,811
Excellent

Posted 14 January 2023 - 16:45

Dat bestaat niet, omdat er geen enkele interactie is tussen Enigma en de webif, dat is puur een-richtingsverkeer.

 

Op zich wel een leuk idee... ;)


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Bestaat er ook een 'push' API/webhooks functie? #3 scriptmelvin †

  • PLi® Contributor
  • 720 posts

+46
Good

Posted 14 January 2023 - 17:30

+1. Hoe zou dat het beste kunnen gebeuren? (Web)socket? UDP broadcast?


Sorry to inform you this member, my brother, passed away.

Re: Bestaat er ook een 'push' API/webhooks functie? #4 Rob3rt

  • Senior Member
  • 598 posts

+3
Neutral

Posted 14 January 2023 - 17:32

dat is jammer, momenteel poll ik elke minuut de status van de enigma2 box via mijn nas met een cronjob, het resultaat filter ik het en push dat dan weer naar mijn home automation controller (homey en/of homeassistant).

Deze controller zet dat resultaat dan in een locale database (in homey logic values) zodat ik het resultaat dan weer kan gebruiken in mijn automatisering flows en scenes.

 

Echter dit vergt op verschillende plaatsen onderhoud en acties, erg makkelijk te onderhouden/wijzigen is dit niet.

 

Het zou handig zijn als er een plugin zou zijn die bv alleen al heel simpel een (web) url zou kunnen aanroepen als de zender wijzigt (dus bij zappen van zender), dan zou de ontvanger van deze trigger (de home automation controller) dan de webif api weer kunnen uitlezen voor de exacte data.

Op deze manier zou in mijn geval mijn NAS (die nu dus elke minuut de box uitleest) al kunnen vervallen of de ingestelde minuut cron zou niet meer nodig hoeven te zijn.

 

Wellicht er een developer is die dit wel/ook ziet zitten en een plugin in elkaar kan sleutelen, het opent nieuwe mogelijkheden :)


Edited by Rob3rt, 14 January 2023 - 17:36.


Re: Bestaat er ook een 'push' API/webhooks functie? #5 WanWizard

  • PLi® Core member
  • 70,534 posts

+1,811
Excellent

Posted 14 January 2023 - 18:42

+1. Hoe zou dat het beste kunnen gebeuren? (Web)socket? UDP broadcast?

 

Als je dat goed wilt doen, dan doe je dat via event sourcing. Maar dat zie ik nog niemand implementeren.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Bestaat er ook een 'push' API/webhooks functie? #6 scriptmelvin †

  • PLi® Contributor
  • 720 posts

+46
Good

Posted 14 January 2023 - 20:17

Ik bedoel eerder: wat zou handig zijn om deze push events in een domotica platform te krijgen (meer in de netwerk layer). Wat is gebruikelijk? Wat is handig?
Sorry to inform you this member, my brother, passed away.

Re: Bestaat er ook een 'push' API/webhooks functie? #7 WanWizard

  • PLi® Core member
  • 70,534 posts

+1,811
Excellent

Posted 14 January 2023 - 21:00

Ja, dat zeg ik ;).

 

Je kunt dat alleen netjes oplossen door een ontkoppeling te realiseren tussen het event en zijn consumers of subscribers, en dat is wat event sourcing doet.

 

Wil je dat niet, dan moet je het met plugin hooks gaan oplossen, en moet je een tight coupling gaan creeren, waarbij je voor elk eindpunt een aparte plugin, of plugin code, gaat krijgen, en dat is niet onderhoudbaar.

 

Bovendien kom je dan direct met je plugin code in de mainloop terecht, en krijg je als de API call naar de domotica blijft hangen ook een hangende Enigma.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Bestaat er ook een 'push' API/webhooks functie? #8 luisteraar

  • Senior Member
  • 2,480 posts

+24
Neutral

Posted 14 January 2023 - 21:24

de normale manier is dat besturing systeem de
sensor afvraagt en niet dat de sensor een
push doet.
dus bestuur systeem polled de satbox.
zeldzaam als een sensor een push doet zoals
bv een nivo meter die een sms verstuurt als
Nivo te laag is.

Edited by luisteraar, 14 January 2023 - 21:25.


Re: Bestaat er ook een 'push' API/webhooks functie? #9 Rob3rt

  • Senior Member
  • 598 posts

+3
Neutral

Posted 14 January 2023 - 21:32

een sensor kan beide:

voorbeeld:

bewegings melder gaat af, deze 'pushed' vervolgens een signaal dat er beweging is gedetecteerd naar de controller, zou de controller dit moeten pollen dan weet die helemaal niet wanneer er een melding is en dan kan de beweging al lang voorbij zijn alvorens de controller heeft gereageerd.

 

In dit specifieke geval zou een http call (push) al voldoende zijn, dit alleen bij het verzetten van een zender of eventueel begin van een nieuw programma.

 

Maar ik begrijp dat het niet kan en de kans dat dit ooit zal kunnen uiterst klein zal zijn, dan weet ik dit en hoef niet te zoeken naar plugins die dit soort functionaliteit zou kunnen toevoegen.

Op dit moment werkt het zoals ik het gemaakt heb, niet erg onderhouds vriendelijk maar het werkt gelukkig wel.


Edited by Rob3rt, 14 January 2023 - 21:34.


Re: Bestaat er ook een 'push' API/webhooks functie? #10 scriptmelvin †

  • PLi® Contributor
  • 720 posts

+46
Good

Posted 14 January 2023 - 22:13

Bij mij is alles push (behalve enigma2). Vooral de batterijapparaten (zoals rookmelders) worden even wakker, sturen een teken van leven en gaan weer in slaap, anders zou de batterij het niet lang volhouden.

Ik ga morgen eens kijken hoe je data gepushed krijgt naar domoticz, openhab etc, misschien komt er dan toch een plugin.
Sorry to inform you this member, my brother, passed away.

Re: Bestaat er ook een 'push' API/webhooks functie? #11 WanWizard

  • PLi® Core member
  • 70,534 posts

+1,811
Excellent

Posted 14 January 2023 - 23:28

Het blijft hardcoding. Met alle ellende van dien.

 

Daarnaast zijn push als pull zijn inefficient zodra er meerdere pushers of pullers zijn, het creert ongewenste dependencies, en in een realtime omgeving creert het ook nog eens serialisatie en synchroniteit met "hangers" als je niet op past.

 

In dit specifieke geval zou een http call (push) al voldoende zijn, dit alleen bij het verzetten van een zender of eventueel begin van een nieuw programma.

 

Dat wil je dus niet, want als je endpoint een probleem heeft, dan hangt Enigma.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Bestaat er ook een 'push' API/webhooks functie? #12 Rob3rt

  • Senior Member
  • 598 posts

+3
Neutral

Posted 14 January 2023 - 23:55

waarom zou je enigma hangen?

Je opent een api call naar een website, als die niet reageert wil niet zeggen dat je enigma2 zou hangen, in theorie hoef je niet te wachten op een reactie, je pushed je bericht en gaat gewoon verder.

Of de ontvanger wel/niet reageert doet er eigenlijk niet toe



Re: Bestaat er ook een 'push' API/webhooks functie? #13 WanWizard

  • PLi® Core member
  • 70,534 posts

+1,811
Excellent

Posted 15 January 2023 - 00:37

Zo werkt het dus niet, je doet een http request, en dat vereist een response waarop gewacht moet worden, het is een fire en forget.

En je moet voor elk mogelijk endpoint de logica hardcoden.

Ik snap wel dat jij alleen maar geïnteresseerd bent in je eigen probleem maar ik probeer naar het bredere plaatje te kijken.

Het feit dat de architectuur en design van Enigma er uit ziet alsof het door een tiener in 1995 in elkaar is gegooid betekent niet dat we dan maar op die voet door moeten... ;-)

Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Bestaat er ook een 'push' API/webhooks functie? #14 luisteraar

  • Senior Member
  • 2,480 posts

+24
Neutral

Posted 15 January 2023 - 03:35

enigma hoeft niet te hangen
als die hangt is die slecht geprogrammeerd
in uiterste nood kan je hangen voorkomen door
try en except toe te passen.
met threads kan je ook werken om hangen te voorkomen

Edited by luisteraar, 15 January 2023 - 03:41.


Re: Bestaat er ook een 'push' API/webhooks functie? #15 jort38

  • Senior Member
  • 652 posts

+8
Neutral

Posted 15 January 2023 - 10:50

Zoals je weet kun je een enigma2 box ook via een API benaderen via http://ip.box/web/commands

Je kan dan redelijk veel informatie opvragen van de box zelf.

 

Maar wat ik eigenlijk mis of te wel zoek is een zgn PUSH functie van de box.

Dus zodra er iets wijzigt, bv je zapt naar een andere zender dat hij dan de info kan 'pushen' naar een andere API.

 

Ik zou dit willen gebruiken om mijn enigma2 box meer te willen intrigeren in mijn homeautomation, dat je dus bv dingen kunt laten triggeren via de enigma2 box.

Voorbeeld: je zapt naar de zender Film1 en je wilt dat dan je huis scene's op start (lampen in bepaalde modus etc etc)

 

Nu moet je dus continu gaan 'pollen' vanuit je home automation op welke zender de box staat, het zou veel makkelijker zijn als de eniga2 box een push zou sturen als hij zapt naar een andere zender met de data van die zender.

Op die push kun je dan een scene/flow starten om iets wel of niet uit te laten voeren...

 

Weet iemand of zoiets bestaat, bv via een plugin?

In Domoticz is ooit iets gedaan: GitHub - kofec/Domoticz-Enigma2: Enigma2 Plugin for domoticz


Vu+ Ultimo 4K (4 TB HD, DVBS FSB, DVBC FBC & OpenPli 9),

Xtrend ET10000 (1 DVBS works via ethernet & OpenPli 9),

Xtrend ET10000 (DVBT2 & OpenPli 9, located in Thailand). Only latest stable releases.

Xtrend ET10000 (works via ethernet & OpenPli 9) and

Xtrend ET8000 (1 TB HD, 1 DVBT2 & works via ethernet & OpenPli 9)


Re: Bestaat er ook een 'push' API/webhooks functie? #16 Rob3rt

  • Senior Member
  • 598 posts

+3
Neutral

Posted 15 January 2023 - 11:51

 

Zoals je weet kun je een enigma2 box ook via een API benaderen via http://ip.box/web/commands

Je kan dan redelijk veel informatie opvragen van de box zelf.

 

Maar wat ik eigenlijk mis of te wel zoek is een zgn PUSH functie van de box.

Dus zodra er iets wijzigt, bv je zapt naar een andere zender dat hij dan de info kan 'pushen' naar een andere API.

 

Ik zou dit willen gebruiken om mijn enigma2 box meer te willen intrigeren in mijn homeautomation, dat je dus bv dingen kunt laten triggeren via de enigma2 box.

Voorbeeld: je zapt naar de zender Film1 en je wilt dat dan je huis scene's op start (lampen in bepaalde modus etc etc)

 

Nu moet je dus continu gaan 'pollen' vanuit je home automation op welke zender de box staat, het zou veel makkelijker zijn als de eniga2 box een push zou sturen als hij zapt naar een andere zender met de data van die zender.

Op die push kun je dan een scene/flow starten om iets wel of niet uit te laten voeren...

 

Weet iemand of zoiets bestaat, bv via een plugin?

In Domoticz is ooit iets gedaan: GitHub - kofec/Domoticz-Enigma2: Enigma2 Plugin for domoticz

 

Dit is niet wat ik bedoel, met deze 'oplossing' doe je dus een pull vanaf de controller, de controller moet het dus initialiseren, deze addons bestaan ook al voor Homey en Homeassistant.

 

Ik zocht een mogelijkheid om vanuit de enigma box iets te triggeren in mijn homeautomation, dus exact andersom als wat die plugin in de link doet...

 

Zodra de zender (en/of programma) wijzigt op de enigma box (vergelijk het met dat er beweging wordt gedetecteerd door een bewegings sensor) dan moet de enigma box dit direct rapporteren/melden (dus pushen) naar de controller zodat de controller dan direct iets kan doen, dat was mijn opzet.

 

Alle bestaande plugins (want ook voor Homey en Homeassistant bestaan deze) voor enigma2 werken zo dat de controller de box contacteert en dan info gaat opvragen, echter de controller zal nooit weten als de zender wordt verzet voordat deze het eerst gaat vragen aan de enigma2 box, je kan dus geen scenes/flows laten starten/reageren op acties van de enigma2 box.....

Of nog basaler, de controller weet nooit wanneer de enigma2 box wordt aan of uitgezet, je kan helaas nooit een automatisering maken zoals: ALS enigma2 wordt aangezet DOE DAN dit....  of wat ik wil ALS zender wordt verzet DOE DAN dit..


Edited by Rob3rt, 15 January 2023 - 11:55.


Re: Bestaat er ook een 'push' API/webhooks functie? #17 jort38

  • Senior Member
  • 652 posts

+8
Neutral

Posted 15 January 2023 - 13:45

Met deze functionaliteit opent zich een scala van mogelijkheden. Sorry dat ik niet meer behulpzaam kan zijn.


Vu+ Ultimo 4K (4 TB HD, DVBS FSB, DVBC FBC & OpenPli 9),

Xtrend ET10000 (1 DVBS works via ethernet & OpenPli 9),

Xtrend ET10000 (DVBT2 & OpenPli 9, located in Thailand). Only latest stable releases.

Xtrend ET10000 (works via ethernet & OpenPli 9) and

Xtrend ET8000 (1 TB HD, 1 DVBT2 & works via ethernet & OpenPli 9)


Re: Bestaat er ook een 'push' API/webhooks functie? #18 luisteraar

  • Senior Member
  • 2,480 posts

+24
Neutral

Posted 15 January 2023 - 15:25

Je kan de box altijd pollen ook al staat die in standby.

Enigma moet jou gebouw systeem niet beheren maar jou

controler en die kan de benodigde info ophalen.

Heb nog nooit een gebouw besturing systeem gezien waar het

anders gedaan wordt ,de plc vraagt op .

wel situaties gehad

dat twee gebouwsystemen met elkaar praten .

Je opent een tcp socket naar enigma2 en vraagt als het zijn moet 10

keer per seconde de statussen op dan het ne near real time


Edited by luisteraar, 15 January 2023 - 15:26.


Re: Bestaat er ook een 'push' API/webhooks functie? #19 Rob3rt

  • Senior Member
  • 598 posts

+3
Neutral

Posted 15 January 2023 - 15:42

Je kan de box altijd pollen ook al staat die in standby.

Enigma moet jou gebouw systeem niet beheren maar jou

controler en die kan de benodigde info ophalen.

Heb nog nooit een gebouw besturing systeem gezien waar het

anders gedaan wordt ,de plc vraagt op .

wel situaties gehad

dat twee gebouwsystemen met elkaar praten .

Je opent een tcp socket naar enigma2 en vraagt als het zijn moet 10

keer per seconde de statussen op dan het ne near real time

Nee dat is incorrect, denk aan beweging en alarm sensoren, deze 'pushen' altijd, de controller vraagt nooit de status op bij dit soort sensoren.

Hoe kan een controler weten dat er beweging is of als er een deur open gaat?!?!

Als de controller elke 10 seconden zou pollen dan zou de beweging al vorobij kunnen zijn, voordat je iets geschakeld hebt, vandaar dit soort sensoren pushen.

 

Omdat de sensor dit detecteert en vervolgt meld (pushed) naar de controller 'Hey controller, ik heb een melding..'  kan de controller dan ook tijdig reageren op het event.

De controller checked 'pulled' de meeste devices wel, maar niet elke mili seconde, dit zou niet te doen zijn......

 

Dat wetende moet je dat nu toepassen op de enigma2 box...

Hoe kan de controller in godsnaam weten dat ik de zender verzet? 

Niet dus, dat kan alleen als de enigma2 box een event melding doet richting de controller, dit hoeft enkel bv een event melding te zijn van 'hey ik heb iets te melden' waarop de controller dan beslissen om te pullen WAT er veranderd is.

 

Alle beschikbare apps voor enigma2 voor Homeautomation (in mijn geval Homey en HomeAssistant) moet je zelf 'starten' om de box te pollen, deze doen niets uit zichzelf of met (micro) seconden intervals.

Uit zichzelf polt de controller niets namelijk en elke seconde de (lichte) controller alles laten pollen laat je hele controller op den duur uit zijn recourses lopen of je gaat enorm veel netwerk trafic genereren, de load wordt enorm, daar zijn die apparaten niet voor gebouwd.

 

De oplossing zoals al besproken is een push optie, als de enigma2 box iets doet (bv van zender wisselen) dan wordt een push gestuurd richting de controller, dan pas kan de controller iets gaan doen.



Re: Bestaat er ook een 'push' API/webhooks functie? #20 luisteraar

  • Senior Member
  • 2,480 posts

+24
Neutral

Posted 15 January 2023 - 15:55

Nee dat is incorrect, denk aan beweging en alarm sensoren, deze 'pushen' altijd, de controller vraagt nooit de status op bij dit soort sensoren.

 

 

Hoe kan een controler weten dat er beweging is of als er een deur open gaat?!?!

 

nee die pushen het gbs niet.

Die hebben een eigen uitgang b.v. een relay en als ze opgenomen worden in gbs dan wordt een log opgevraagd.

Alarmering systemen werken zelfstandig zoals enigma2.

Zou te gek voor woorden zijn dat een bewegingsmelder iedere vlieg in de buurt meld aan gbs (overdreven gezegd)




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users