PHP-script voor opvangen van data-upload volgens WU-protocol
Geplaatst: 19 aug 2025, 11:55
Stilstand is achteruitgang .........
De 'standaard'-aanpak van de HWA-server voor dataverkeer heeft bepaalde 'oude&beproefde' voordelen,
omdat databron en dataverwerker ieder in eigen tempo in eigen domein kunnen werken.
De wereld beweegt echter ook in andere richtingen,
en meeliften op een rijdende trein kan dan efficiënt zijn en makkelijker tegemoetkomen aan gebruikersinzet.
Voor WUnderground-dataflow is er wel de weg via 'vragende' aanroep aan de WU-API,
maar 'push' data-upload volgens WU-protocol is de meest gebruikte directe weg tussen databron en dataverwerker, zoals je ziet bij een heleboel PWSen en portals.
Voor de HWA-server vraagt dat een extra, WU-achtige 'push'-ingang op internet.
Luc is huiverig daarvoor (niet alleen m.b.t. de hoeveelheid werk).
Alternatief is dat een hulpserver zo'n WU-achtige ingang voorziet en de binnengekomen berichten vertaalt als frontend voor de HWA-server die dan niet beter weet dan dat er een aantal extra stations 'normaal' binnenkomt vanuit webruimte.
Kunnen we na het experiment misschien Luc overtuigen dat de hele zwik snel & veilig in de HWA-server kan worden geschoven.
Om het experiment aan te gaan, een PHP-script gezocht dat voor dat werk op een internet-server kan draaien.
Functioneel zoiets als hier beschreven.
Gevraagde functies van het PHP-script:
1. (veilig) opvangen van een WU-layout message, bijv. uit de 3e uitgang van een Bresser_PWS
- de PWS-eigenaar krijgt daarvoor vanuit HWA voor zijn stationsinterface vooraf aangereikt een specifiek ID & PassWord ingebouwd in een voorbewerkte url-string voor richten van de datamessage naar de hulpserver
2. checken & vertalen van de inkomende datamessage naar een JSON-file specifiek voor dat ID&PW
3. opslaan van die JSON-file in een folder, apart dus voor iedere combinatie van ID&PW
Dan kan voor het experiment de JSON-file daarna door een andere processor worden opgehaald en worden vertaald naar een HWA-file e.d.
Alleen laatste versie van die JSON-file.
optioneel
4. vertalen van de bovengenoemde JSON-file naar een HWA-file met een bijbehorende kenmerkende filenaam
5. opslaan van die HWA-file in een folder, apart dus per binnenkomend station.
Alleen laatste versie van die HWA-file.
Het aangehaalde PHP-script realiseert in essentie de bovengenoemde punten 1. t/m 3. , maar m.i. is dat voor LAN-bedrijf met een vast IP-adres, dus vraag:
- hoe maak ik dit script werkend voor bedrijf op internet, bijv. geplaatst op een server van Strato?
[want o.a. adressering en file-locaties lijken daarvoor een kritisch, praktisch puntje]
- zijn er alternatieve softwarepakketten die deze invulling al beter beantwoorden?
- aanwijzingen hoe e.e.a. netjes werkend te krijgen is op een Strato-server?
Gezien de wereldwijde toepassing van WU-protocol kan ik me niet voorstel dat genoemd PHP-script het enige is, maar totnutoe nog niet iets gevonden dat eenvoudig & robuust de functievraag invult, dus hints welkom.
Uiteraard aan databron-kant eerst eenvoudigst beginnen, met als quasi-PWS 1 zelfgebouwd WU-achtige databronscript op een Raspberry (= clone van een echte upload vanuit Domoticz),
voordat we het loslaten op de echte Bresser-PWSen e.d. van deze wereld.
De 'standaard'-aanpak van de HWA-server voor dataverkeer heeft bepaalde 'oude&beproefde' voordelen,
omdat databron en dataverwerker ieder in eigen tempo in eigen domein kunnen werken.
De wereld beweegt echter ook in andere richtingen,
en meeliften op een rijdende trein kan dan efficiënt zijn en makkelijker tegemoetkomen aan gebruikersinzet.
Voor WUnderground-dataflow is er wel de weg via 'vragende' aanroep aan de WU-API,
maar 'push' data-upload volgens WU-protocol is de meest gebruikte directe weg tussen databron en dataverwerker, zoals je ziet bij een heleboel PWSen en portals.
Voor de HWA-server vraagt dat een extra, WU-achtige 'push'-ingang op internet.
Luc is huiverig daarvoor (niet alleen m.b.t. de hoeveelheid werk).
Alternatief is dat een hulpserver zo'n WU-achtige ingang voorziet en de binnengekomen berichten vertaalt als frontend voor de HWA-server die dan niet beter weet dan dat er een aantal extra stations 'normaal' binnenkomt vanuit webruimte.

Om het experiment aan te gaan, een PHP-script gezocht dat voor dat werk op een internet-server kan draaien.
Functioneel zoiets als hier beschreven.
Gevraagde functies van het PHP-script:
1. (veilig) opvangen van een WU-layout message, bijv. uit de 3e uitgang van een Bresser_PWS
- de PWS-eigenaar krijgt daarvoor vanuit HWA voor zijn stationsinterface vooraf aangereikt een specifiek ID & PassWord ingebouwd in een voorbewerkte url-string voor richten van de datamessage naar de hulpserver
2. checken & vertalen van de inkomende datamessage naar een JSON-file specifiek voor dat ID&PW
3. opslaan van die JSON-file in een folder, apart dus voor iedere combinatie van ID&PW
Dan kan voor het experiment de JSON-file daarna door een andere processor worden opgehaald en worden vertaald naar een HWA-file e.d.
Alleen laatste versie van die JSON-file.
optioneel
4. vertalen van de bovengenoemde JSON-file naar een HWA-file met een bijbehorende kenmerkende filenaam
5. opslaan van die HWA-file in een folder, apart dus per binnenkomend station.
Alleen laatste versie van die HWA-file.
Het aangehaalde PHP-script realiseert in essentie de bovengenoemde punten 1. t/m 3. , maar m.i. is dat voor LAN-bedrijf met een vast IP-adres, dus vraag:
- hoe maak ik dit script werkend voor bedrijf op internet, bijv. geplaatst op een server van Strato?
[want o.a. adressering en file-locaties lijken daarvoor een kritisch, praktisch puntje]
- zijn er alternatieve softwarepakketten die deze invulling al beter beantwoorden?
- aanwijzingen hoe e.e.a. netjes werkend te krijgen is op een Strato-server?
Gezien de wereldwijde toepassing van WU-protocol kan ik me niet voorstel dat genoemd PHP-script het enige is, maar totnutoe nog niet iets gevonden dat eenvoudig & robuust de functievraag invult, dus hints welkom.
Uiteraard aan databron-kant eerst eenvoudigst beginnen, met als quasi-PWS 1 zelfgebouwd WU-achtige databronscript op een Raspberry (= clone van een echte upload vanuit Domoticz),
voordat we het loslaten op de echte Bresser-PWSen e.d. van deze wereld.