[Gscript] LAN host gebruiken voor urlFetchApp.fetch?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • iGadget
  • Registratie: Januari 2000
  • Laatst online: 06-07 11:46
Voor een nieuwe toffe escaperoom in aanbouw ben ik gevraagd om het hele verlichtingsstuk op me te nemen. De bedoeling is dat de verlichting flink interactief 'meebeweegt' op wat er op dat moment in de verschillende kamers aan de hand is, om zo de sfeer flink te versterken. Dit gaat op basis van een Philips HUE bridge met daaraan gekoppeld een 30-tal lampen en switches (dit was al aangeschaft voor ik gevraagd werd). Super leuke uitdaging!
Via de reguliere (Android / iOS) apps loop je dan echter al snel tegen limieten aan dus als rechtgeaarde Tweaker ben ik in de API gedoken (https://developers.meethue.com/) en heb de meeste calls nu redelijk onder de knie.

Ik ben echter geen programmeur dus om de boel een beetje overzichtelijk te houden heb ik alle overzichten, berekeningen etc. in een spreadsheet gezet, in dit geval Google Sheets. Deze is de afgelopen weken tot een flink monsterformaat uitgegroeid en hiermee kan ik inmiddels vrij makkelijk een API call voorbereiden (bijvoorbeeld om lichtgroepen of scenes aan te maken, aan te roepen, te wijzigen etc.) met als resultaat een curl GET / POST / PUT commando die een URL aanroept met JSON payload. Dit commando copy-paste ik vervolgens in een (bash) console en voilà, de bridge reageert.

Dit werkt ook als ik niet op locatie ben, middels een HUE emulator (http://steveyo.github.io/Hue-Emulator/) die ik lokaal op mijn laptop kan starten.

De volgende logische stap leek mij vanuit Google Sheets rechtstreeks de API call naar de bridge te kunnen sturen. Dus ik ben in Gscript gedoken, heb zowaar de introductie Javascript gedaan, prachtige mogelijkheden ontdekt om rechtstreeks GET / POST / PUT requests te kunnen versturen (en ontvangen), notabene met support voor JSON. Kwestie van nog even doorklooien en de boel zou vast gaan werken.

Maarrrr... De HUE bridge en de emulator hebben een local IP en zijn niet via het internet bereikbaar. En daar kan Google Sheets niet mee overweg lijkt het. Mijn eerste poging om iets van een koppeling proberen te maken strandde vrij rap:

code:
1
2
3
4
function GETURLTEST() {
  var response = UrlFetchApp.fetch('http://127.0.0.1:8000/api/newdeveloper/lights');
Logger.log(response.getContentText());
}


Zodra ik de code run, krijg ik de volgende foutmelding:
Exception: Bad request: http://127.0.0.1:8000/api/newdeveloper/lights (line 3, file "getUrlTest")
Logisch ook (wellicht) omdat de scripts natuurlijk op de servers van Google uitgevoerd worden.

Mijn vraag is dus nu - zijn er stiekem toch opties in Gscript / Javascript om code 'client-side' te laten uitvoeren zodat ik toch Google Sheets kan laten babbelen met de HUE bridge? Of ga ik de boel toch moeten overhevelen naar lokaal?

Any tips are most welcome :)

"I'll just use my Go-Go-Gadget handbook!"

Alle reacties


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Nu online
Een reverse proxy?

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

  • ThinkPad
  • Registratie: Juni 2005
  • Nu online
Is de ‘Hue remote API’ misschien iets?
https://www.princesspolym...e-remote-api-in-node.html

Anders zou je nog met iets als Node-RED op een Raspberry Pi kunnen werken die je lokaal bij het systeem plaatst.

Acties:
  • 0 Henk 'm!

  • iGadget
  • Registratie: Januari 2000
  • Laatst online: 06-07 11:46
Een reverse proxy opzetten... Voor zover ik die techniek snap betekent dat dan op (minimaal) 2 locaties (escaperoom + thuis) iets voor / in / naast de router installeren? Lijkt me ook best een veiligheidsrisico, of zie ik dat verkeerd? Ik hou 'm in gedachten iig (y)

"I'll just use my Go-Go-Gadget handbook!"


Acties:
  • 0 Henk 'm!

  • iGadget
  • Registratie: Januari 2000
  • Laatst online: 06-07 11:46
ThinkPadd schreef op woensdag 1 april 2020 @ 23:14:
Is de ‘Hue remote API’ misschien iets?
https://www.princesspolym...e-remote-api-in-node.html

Anders zou je nog met iets als Node-RED op een Raspberry Pi kunnen werken die je lokaal bij het systeem plaatst.
De HUE remote API ben ik nog niet eerder tegen gekomen (best bijzonder gezien het aantal uren API research wat er inmiddels inzit, blinde vlek wellicht), interessante invalshoek. Al weet ik niet of ik die ooit werkend zou kunnen krijgen voor de emulator (lijkt me sterk dat Philips hun infra daarvoor beschikbaar stelt). Maar iig het onderzoeken waard (y)

En Node-RED... wauw. Zit nu die intro video te bekijken, wat een toffe techniek lijkt dat zeg. Sowieso wil ik meer met Rasberry Pi's gaan werken daar, dus dat zou best wel eens een goede optie kunnen zijn (y) (y)

"I'll just use my Go-Go-Gadget handbook!"


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Nu online
iGadget schreef op woensdag 1 april 2020 @ 23:40:
[...]

Een reverse proxy opzetten... Voor zover ik die techniek snap betekent dat dan op (minimaal) 2 locaties (escaperoom + thuis) iets voor / in / naast de router installeren? Lijkt me ook best een veiligheidsrisico, of zie ik dat verkeerd? Ik hou 'm in gedachten iig (y)
Je zal inderdaad op beide locaties een reverse proxy moeten draaien. Hoeft geen veiligsrisico te zijn natuurlijk. Letsencrypt en enige vorm van authicatie en je bent al een heel eind.

Roomba E5 te koop

Pagina: 1