Connector waarde uitlezen met URL

Oorspronkelijke vraag: Hoe kan ik waarden aan connectors meegeven?

Ik kreeg van Frank het volgende antwoord. Wellicht ook nuttig voor anderen:

Je kunt inderdaad waarden meegeven aan connectors via het veld waar je zit. Dat kan elke variabele zijn, maar het is wel goed om dan twee instellingen goed te zetten vooraf:

  • In Profiel & Instellingen onder Instellingen vind je een optie Expert Mode. Zet die op Enabled
  • In je variabelen lijst zie je onder het overzicht een nieuwe switch “Human Readable Format”. Zorg dat die UIT staat. Je verstuurt dan alleen de waarde als variabele ipv een ondersteunende tekst er bij.

Deze variabele kun je via je Connector versturen. Je kunt deze weer uitlezen in je eigen code met de variabele value. Op dit moment ondersteunen we slechts 1 variabele die je kunt meesturen. Wil je meer waarden meesturen dan zou je nu nog een workaround moeten gebruiken door ze te koppelen middels iets als |, _ of - en ze in je eigen code weer uit elkaar te halen.

Mijn volgende vraag: Als ik een waarde meegeef aan mijn connector, hoe lees ik deze dan uit met bijv curl? Wanneer ik de connector url gebruik krijg ik alleen called: “1” terug, maar niet de waarde die ik gegeven heb. Moet ik dan een andere url gebruiken of zo iets?

De waarde die we uitlezen is degene die in “value” staat. Bijvoorbeeld de URL https://connect.triggi.com/c/BB1ACgDePG47Sj5o7VGh?value=42 kun je in de browser opvragen. Je ziet dat we dan zowel called:1 teruggeven als value=42. Die value is ook als variabele in Olisto beschikbaar.
Een undocumented feature is dat je value_1 tot en met value_5 nog extra kunt gebruiken in de URL. Een URL met alle mogelijke variabelen is dan
https://connect.triggi.com/c/BB1ACgDePG47Sj5o7VGh?value=42&value_1=true&value_2=Hier%20een%20tekst%20met%20spatie&value_3=100.000.000&value_4=!)()($^@$)&value_5=nog%20een%20tekst%20en%20getallen%201%202%203%204. Je krijgt dan terug
{“called”:“1”,“value”:42,“value_1”:“true”,“value_2”:“Hier een tekst met spatie”,“value_3”:“100.000.000”,“value_4”:“!)()($^@$)”,“value_5”:“nog een tekst en getallen 1 2 3 4”}

Misschien handig om iets beter uit te leggen wat ik van plan ben met mijn connector.
Ik zou graag informatie/data vanuit Olisto naar mijn raspberry willen sturen. Bijvoorbeeld de temperatuur van mijn Toon. Mijn idee was om in een connector de waarde van de Toon temperatuur te zetten (zoals in de screenshot van de openings post).
Wanneer ik dan met mijn raspberry de url van de connector opvraag (al dan niet met wat parameters erachter van bijv welke variabele oid) geeft deze de waarde terug die ik eerder in de connector gezet heb (de toon temp dus).
Een alternatief zou zijn dat ik de toon temp waarde naar mezelf email en die mail door de raspberry laat ontvangen, maar dat is niet zo’n elegante oplossing vind ik.
Dus; een manier om een url extern uit te lezen. Ik geef in de olisto app een waarde aan de connector en kan deze waarde uitlezen met bv een script door een url aan te roepen.

Ben benieuwd :smiley:

Lukt het inmiddels met je Pi en het uitlezen van de waarden?

Nog geen succes hiermee. Ook nog niet echt naar alternatieven gezocht.

Deze quote van jou legt uit waarom dit momenteel niet gaat werken:

Ik heb het nog gecheckt, maar wij slaan de payload of waarde die je in de app aangeeft niet op. Je geeft in onze app de waarde bij de URL. Als die wordt uitgevoerd dan zul je hem ergens moeten ophalen. Maar wanneer en hoe zou je dat dan doen? Als door een trigg bv de URL connect.olisto.com/12345/?value=1234 wordt verstuurd, hoe wil je dat met een eigen script ophalen? Hoe trigger je dan dat script?

Als ik in de Olisto app de waarde “ingestelde temp” naar een connector kan schrijven en deze daarin bewaard blijft, kan ik met een script de waarde op ieder willekeurig tijdstip uitlezen.

Ik zou het op een andere manier kunnen doen zonder connector door bijv de “ingestelde temp” van toon naar mijzelf te emailen. In een script lees ik de meest recente email uit waarin deze waarde staat. Dit is nogal omslachtig en moet mooier kunnen.

Hi Serge

Een waarde aan een URL meegeven (een Connector is niets meer dan een URL) is iets wezenlijks anders dan deze waarde opslaan op een plaats (txt file, database etc). wat je kunt doen is een eigen script maken waar je de waarde heen stuurt. Je kunt deze dan met eigen code uitlezen via de URL parameter. Daar zijn 1001 manieren voor hoe je dat zou kunnen doen en vooral afhankelijk van je favoriete programmeertaal. Wat je dan kunt doen is een URL op je eigen server/Pi zetten en die als Olisto Connect actie gebruiken. Zie de blogpost die ik maakte nav het script wat @Raimond maakte: https://olisto.com/koppel-je-raspberry-pi-aan-olisto/

Hallo,
het lukt me wel om een waarde in een connector te zetten via een URL met ?value=XXX , maar wat moet je als URL uitvoeren om die waarde op te vragen ? Ik krijg steeds maar die {called:1} terug en niet die XXX