Jump to content


Photo

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


  • Please log in to reply
63 replies to this topic

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

  • Senior Member
  • 590 posts

+3
Neutral

Posted 15 January 2023 - 16:02

 

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)

 

maar zo werkt het wel......

 

Het zou te gek zijn als een controller ALLE sensoren in zijn netwerl constant elke miliseconde juist zou moeten pollen of er beweging of een event is....

 

Dit zou batterij devices binnen no-time leeg trekken, deze zouden elke miliseconde moeten antwoorden dat er niets of wel iets aan de hand zou zijn.

 

Nu meld de sensor alleen iets als er een event is (bv deur open, beweging etc), dit kan dus uren niets zijn........

 

Naast het pushen van de sensoren zal een controller ook met intervallen pullen voor status updates (dit is echter niet elke (mili) seconde), dit wordt vaak gedaan bij bv temperatuur, lux senoren etc, dit soort sensoren pushen namelijk niet.

Er zit dus verschil in type sensor of er gepushed of gepolled wordt.

 

Maar dit alles is totaal offtopic, mijn vraag is reeds beantwoord.

Het kan (helaas) op dit moment niet, of het er ooit komt is afwachten....


Edited by Rob3rt, 15 January 2023 - 16:08.


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

  • Senior Member
  • 2,479 posts

+24
Neutral

Posted 15 January 2023 - 16:09

Toch wordt het zo gedaan en hebben ze ook ledjes branden als iets gepolt wordt en heb je een

echte kerst boom ,die trend van vele ledjes laten blinken om indruk te maken neemt af.

Ik kom uit de industriele omgeving met besturingen en scada systemen


Edited by luisteraar, 15 January 2023 - 16:17.


Re: Bestaat er ook een 'push' API/webhooks functie? #23 Tech

  • Forum Moderator
    PLi® Core member
  • 14,664 posts

+460
Excellent

Posted 15 January 2023 - 16:09

Het zou te gek zijn als een controller ALLE sensoren in zijn netwerl constant elke miliseconde juist zou moeten pollen of er beweging of een event is....

 

Dit zou batterij devices binnen no-time leeg trekken, deze zouden elke miliseconde moeten antwoorden dat er niets of wel iets aan de hand zou zijn.

 

Nu meld de sensor alleen iets als er een event is (bv deur open, beweging etc), dit kan dus uren niets zijn........

 

Dan heb je nog nooit van grade 2 en grade 3 gehoord, die pollen wel degelijk maar de ‘gamma’ prut doet dat niet, misschien een beetje inlezen alvorens iets te roepen waarvan je denkt dat het zo werkt.


Aan de rand van de afgrond is een stap voorwaarts niet altijd vooruitgang....

 

On the edge of the abyss, a step forward is not always progress....


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

  • PLi® Core member
  • 68,716 posts

+1,741
Excellent

Posted 15 January 2023 - 16:51

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

 

Dat het slecht geprogrammeerd is, daar zijn we het allemaal wel over eens.

 

Enigma is geen multitreaded applicatie, alles draait via de reactor mainloop.

 

Alles wat de processing stopt (al was het maar een simpele sleep) zet de mainloop stil, en dat levert je na 4 seconden de beroemde spinner op, de indicatie dat er een proces hangt (en dat hoeft niet permanent te zijn), te veel processing gebruikt, etc.

 

En ja, je kunt e.e.a. wel in een aparte thread stoppen, maar daarmee maak je het allemaal alleen maar onnodig complexer.

 

Maar goed, dit is allemaal detail geneuzel, mijn punt was dat close coupling en hardcoding een slecht idee was, en alleen maar bijdraagt aan het nog meer toevoegen van slechte programmering.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Pro (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? #25 WanWizard

  • PLi® Core member
  • 68,716 posts

+1,741
Excellent

Posted 15 January 2023 - 16:58

Nu meld de sensor alleen iets als er een event is (bv deur open, beweging etc), dit kan dus uren niets zijn........

 

Naast het pushen van de sensoren zal een controller ook met intervallen pullen voor status updates (dit is echter niet elke (mili) seconde), dit wordt vaak gedaan bij bv temperatuur, lux senoren etc, dit soort sensoren pushen namelijk niet.

Er zit dus verschil in type sensor of er gepushed of gepolled wordt.

 

En event sourcing levert de abstractie daarvoor.

 

Daarbij heb je emitters (zoals je sensor) die hun events in een event queue stoppen (dat kunnen ze dus doen onafhankelijk van wat of wie die events wil zien), en een event queue kan subscribers hebben, stukjes software die optreden als er een event is, in jou geval dat doorsturen naar een domotica systeem. Dit proces loopt asynchroon (en dat is belangrijk) en zonder polling (hoewel je de queue ook zo kunnen pollen).

 

Een ander voordeel van dit mechanisme is dat de emitter niet hoeft te weten wie de subscribers zijn, je hebt dus geen hardcoding en koppeling met een externe API.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Pro (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? #26 luisteraar

  • Senior Member
  • 2,479 posts

+24
Neutral

Posted 15 January 2023 - 16:59

Zeker kan een enigma2(plugin) een thread aan maken en daar functies aanroepen die totaal scheef kunnen lopen.

Dan blijft de main loop gewoon doorlopen en de mislukte thread moet zich dan zelf opruimen.

Ja enigma uit de oude doos gemaakt in tijd dat de soc 1 core heeft we zijn nu jaren verder nu kunnen we

een tread maken met een eigen loop en eigen core.

Het is heel gebruikelijk als een functie heel lang kan duren dat je die in een thread zet en als die klaar is neemt

de mainloop de opgehaalde data op en kilt de thread.


Edited by luisteraar, 15 January 2023 - 17:01.


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

  • PLi® Core member
  • 68,716 posts

+1,741
Excellent

Posted 15 January 2023 - 17:02

Het feit dat het gebruikelijk is wil nog niet zeggen dat Enigma daarvoor is ingericht. Er zijn al dingen die in threads lopen, maar opzetten en afhandelen is complex, zeker als die threads ook interactie met de GUI hebben.

 

Ik roep al jaren dat er dringend een modernisering van de architectuur en de code moet komen, ook om het meer toekomst bestendig te maken. Maar ik ben roepende in de woestijn.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Pro (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? #28 luisteraar

  • Senior Member
  • 2,479 posts

+24
Neutral

Posted 15 January 2023 - 19:03

Inderdaad de benodigde informatie uit de thread te halen synchroniseren met de main

loop kan wel eens lastig zijn is niet voor zolder kamer programmeurs weggelegd.

try/except is veel eenvoudiger maar een nood oplossing en daar moet de try op de

juiste (problematische) routine grijpen dat is ook niet altijd makkelijk te vinden.

Kort om je hebt goede programmeer ervaring hebben ,python is niet mijn

ding weinig/geen ervaring c/c++/object pascal is mijn terrein.



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

  • PLi® Core member
  • 68,716 posts

+1,741
Excellent

Posted 15 January 2023 - 19:12

try/except is voor het afvangen van exceptions.

 

Daar is geen sprake van in een API call, het probleem is dat er een HTTP request gebeurd, en de low level socket timeout bepaald hoe lang die blijft "hangen" (wachten op antwoord) als er geen tijdige response komt.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Pro (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? #30 luisteraar

  • Senior Member
  • 2,479 posts

+24
Neutral

Posted 15 January 2023 - 19:15

je kan de try op de (tcpip) socket functies zetten open/read/write



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

  • PLi® Contributor
  • 720 posts

+46
Good

Posted 15 January 2023 - 21:31

Ik heb het nu draaien hier (yeah, eindelijk alles push hier). Het stuurt bij een kanaalwissel of standby een UDP datagram (fire and forget) naar een bepaalde host. Het zou ook multicast gemaakt kunnen worden.

 

Het kan ook als http client werken (voor bijv. Home Assistant) en gebruikt dan twisted Agent en wacht niet op antwoord (dus ook fire and forget, en de main loop wordt niet opgehouden).


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

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

  • PLi® Contributor
  • 720 posts

+46
Good

Posted 16 January 2023 - 17:45

Attached File  EventEmitter.jpg   96.37KB   3 downloads

 

Wie wil er testen? Enigma moet herstart worden na installatie.

 

Ik heb zelf geen Domoticz, Home Assistant of openHAB, dus heb getest met een generieke webserver.

Attached Files


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

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

  • PLi® Contributor
  • 720 posts

+46
Good

Posted 16 January 2023 - 20:49

Authorization werkte niet, gefixt. PiMatic toegevoegd.

Attached Files


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

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

  • Senior Member
  • 644 posts

+8
Neutral

Posted 17 January 2023 - 14:59

attachicon.gif EventEmitter.jpg

 

Wie wil er testen? Enigma moet herstart worden na installatie.

 

Ik heb zelf geen Domoticz, Home Assistant of openHAB, dus heb getest met een generieke webserver.

 

Ik weet niet wat je getest wilt hebben. Ik ben een gebruiker (geen specialist).

 

1) kon de IPK installeren op mijn Vu Ultimo4K

2) kon de app niet vinden, maar na restart van de box wel

3) Enable logging aangezet

4) Enable Domoticz aangezet en details ingevoerd. Welke IDX is een vraag. Ik heb 223 ingevuld (van de 10 of zo) die met het moederbord van de Raspberry Pi te maken hebben

5 kon opslaan

 

en nu?


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? #35 scriptmelvin †

  • PLi® Contributor
  • 720 posts

+46
Good

Posted 17 January 2023 - 15:21

Je moet een nieuw device aanmaken (Setup -> Devices) van het type General -> Text. Als het goed is zie je de IDX van dat nieuwe device in de device list, dat IDX invullen in de plugin.

 

Enable logging maakt een bestand /tmp/EventEmitter.log aan waar wat details in komen over de communicatie met het domotica systeem.


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

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

  • Senior Member
  • 644 posts

+8
Neutral

Posted 17 January 2023 - 15:30

Je moet een nieuw device aanmaken (Setup -> Devices) van het type General -> Text. Als het goed is zie je de IDX van dat nieuwe device in de device list, dat IDX invullen in de plugin.

 

Enable logging maakt een bestand /tmp/EventEmitter.log aan waar wat details in komen over de communicatie met het domotica systeem.

Gezocht, maar een nieuw device aanmaken betekend keuze uit een pull down lijst van pre-defined hardwaren. In deze lijst staan geen "General -> Text" Overigens ook niet iets dat daar op lijkt.


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? #37 scriptmelvin †

  • PLi® Contributor
  • 720 posts

+46
Good

Posted 17 January 2023 - 15:45

Hmm, ik kom er niet onderuit om zelf Domoticz te installeren denk ik. Ga ik doen.


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

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

  • Senior Member
  • 2,479 posts

+24
Neutral

Posted 17 January 2023 - 16:32

Ik ken dat Domoticz systeem niet wel van gehoord maar

vraag me even af zit er een retry meganisme er in als een

push bericht niet goed of helemaal niet aan komt ?

Bij poll corrigeert (retry) de methode zelf.



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

  • PLi® Contributor
  • 720 posts

+46
Good

Posted 17 January 2023 - 18:38

Ik ken dat Domoticz systeem niet wel van gehoord maar
vraag me even af zit er een retry meganisme er in als een
push bericht niet goed of helemaal niet aan komt ?
Bij poll corrigeert (retry) de methode zelf.


Domoticz is de ontvanger in geval van push, dus die kan geen invloed hebben op retry, dat is aan de zender. Mijn plugin gebruikt Twisted Agent, en die doet één retry als de eerste niet lukt. Dus hooguit twee requests, als die alle twee mislukken is het weg.

 

Maar als er op je lokale bedrade 1-segments netwerkje twee requests wegraken, dan heb je andere problemen.


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

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

  • PLi® Contributor
  • 720 posts

+46
Good

Posted 17 January 2023 - 18:44

Domoticz:

  • Ga naar Setup -> Hardware.
  • Vul een naam in (ik heb "TV service" gebruikt).
  • Kies bij "Type": "Dummy".
    Attached File  domoticz-1.png   87.42KB   2 downloads
  • Klik op "Add". Er wordt een regel toegevoegd bovenin.
    Attached File  domoticz-2.png   94.83KB   1 downloads
  • In die regel bovenin, klik op "Create Virtual Sensors". Er verschijnt een popup.
    Attached File  domoticz-3.png   13.5KB   1 downloads
  • Vul een naam in (ik heb weer "TV service" gebruikt).
  • Kies bij "Sensor Type": "Text".
  • Klik op de "Utility" tab. Hier staat je nieuwe "sensor".
  • Klik op het sterretje in je nieuwe "sensor". Hij staat nu op je dashboard.
    Attached File  domoticz-4.png   34KB   1 downloads
  • Ga naar Setup -> Devices. Noteer de "IDX" van de "TV service" regel.
  • Installeer bijgevoegde ipk en vul bij "Domoticz IDX" deze IDX in.

Attached Files


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


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users