gjomle Skrevet 10. november 2017 Skrevet 10. november 2017 (endret) Hei dere kloke hoder. Jeg har nettopp anskaffet meg en NodeMcu sammen med en DS18b20 temperatursensor. Har lagt inn ESPEasy-firmware på kortet og fått dette til å svive fint sammen. Enheten rapportere temperatur uten problemer. Utfordringa kommer når jeg ønsker å få dette skrevet til en virtuell device i HS3. Jeg prøver å få dette til å snakke med HS3 direkte. I "Publish template" på ESPEasy har jeg satt "/JSON?request=controldevicebyvalue&ref=621&value=%value%" som jeg har skjønt er riktig streng for å få dette til. 621 er id til virtuell device i HS3. ESPEasy er satt til å snakke med HS3-server. Min virtuelle device er satt opp slik: Er det noe her jeg fullstendig overser? Jeg får ikke noe data rapportert til devicen... Må få understreke at jeg er rimelig grønn på disse tingene, så beklager på forhånd om feilen er en typisk "dette burde du vite"-sak Endret 10. november 2017 av gjomle Siter
ZoRaC Skrevet 10. november 2017 Skrevet 10. november 2017 Sier loggen på HS noe? Virker det hvis du kaller URLen i nettleseren din? Siter
gjomle Skrevet 10. november 2017 Forfatter Skrevet 10. november 2017 (endret) Når jeg kaller url i nettleser, får jeg denne : {"System":{ "Build": 120, "Unit": 0, "Uptime": 214, "Free RAM": 27248 }, "Sensors":[ { "TaskName": "Temperatur", "Temperature": 22.19 } ]} I loggen til HS3 får denne feilmeldingen: File does not exist: C:\Program Files (x86)\HomeSeer HS3\html\json Endret 10. november 2017 av gjomle Siter
ZoRaC Skrevet 10. november 2017 Skrevet 10. november 2017 Kalte du da denne adressen? «http://192.168.2.100/JSON?request=controldevicebyvalue&ref=621&value=22.19»? Siter
Håvardgj Skrevet 10. november 2017 Skrevet 10. november 2017 har du enablet JSON under "setup / Network" i HS? Siter
gjomle Skrevet 10. november 2017 Forfatter Skrevet 10. november 2017 Nei, kalte adressen til NodeMCU, dvs 192.168.2.161/json<+alt-det-andre> Siter
gjomle Skrevet 10. november 2017 Forfatter Skrevet 10. november 2017 Sjekket den Håvard. Er skrudd på Siter
ZoRaC Skrevet 10. november 2017 Skrevet 10. november 2017 5 minutter siden, ZoRaC skrev: Kalte du da denne adressen? «http://192.168.2.100/JSON?request=controldevicebyvalue&ref=621&value=22.19»? Og denne fungerer? Siter
Håvardgj Skrevet 10. november 2017 Skrevet 10. november 2017 (endret) det er mot ip-adressen til HS at du skal kjøre JSON kall, så "svaret" du fikk tilbake var da NodeMCU'en som ga respons, prøv først "http://192.168.2.100/JSON?request=controldevicebyvalue&ref=621&value=22.19" hvis det ikke funker er det noe annet galt edit: Zorac slo meg =P Endret 10. november 2017 av Håvardgj 1 Siter
gjomle Skrevet 10. november 2017 Forfatter Skrevet 10. november 2017 Ja, men Value er satt til «Temperature»... dvs hele strengen er /json?request=controldevicebyvalue&ref=621&value=Temperature Siter
gjomle Skrevet 10. november 2017 Forfatter Skrevet 10. november 2017 Ah... jeg prøver igjen. Og, selvsagt! ? Siter
ZoRaC Skrevet 10. november 2017 Skrevet 10. november 2017 Akkurat nå, gjomle skrev: Ja, men Value er satt til «Temperature»... dvs hele strengen er /json?request=controldevicebyvalue&ref=621&value=Temperature Det vil ikke fungere. Value må være et gyldig tall for devicen, f.eks 23. Siter
Håvardgj Skrevet 10. november 2017 Skrevet 10. november 2017 (endret) da har jeg forsket litt på dette, og her er mine resultater Hvis jeg skriver dette i adressefeltet på nettleseren http://10.0.0.130/JSON?request=controldevicebyvalue&ref=467&value=15,2 kommer dette tilbake: Av dette kan vi lese ut fra JSON-response at ting har gått rett for seg. hvis jeg sjekker device i HS, har den endret seg til 15,2 som den skal. men prøver jeg med http://10.0.0.130/JSON?request=controldevicebyvalue&ref=467&value=15.9 får jeg dette til svar den eneste forskjellen er at i det første eksemplet brukte jeg komma (,) mens i det andre brukte jeg punktum (.) som desimal-deler jeg lurer på om dette kan være relatert med hvilken data espEasy prøver å sende til HS EDIT: da har jeg fått dette til å fungere, jeg brukte en wemos d1 mini med espeasy v2.0 dev12 fra github det er 2 problemer med dette oppsettet: som beskrevet over, espeasy spytter ut json-data med punktum, og ikke komma som HS vil ha. løsningen der var å fjerne desimaler fra enheten. i skulle det ikke være en skråstrek først, denne tullet til strengen som ble prøvd sendt. så jeg holder meg nok til "selvskreven" arduino-kode fortsatt for mine wifi-termometre Endret 11. november 2017 av Håvardgj 2 Siter
Actibus Skrevet 11. november 2017 Skrevet 11. november 2017 (endret) Punktum og komma er velkjent problem for HS, i USA så bruker de jo punktum der vi bruker komma, jeg har hatt det problemet med en plugin, da endrer jeg språkoppsettet i Windows til US, da virket det. Endret 11. november 2017 av Actibus Siter
gjomle Skrevet 11. november 2017 Forfatter Skrevet 11. november 2017 Hei igjen, og takker for alle tilbakemeldingene! Da har jeg endelig kommet i mål (ish). Jeg får nå overført data til HS dersom jeg ikke bruker punktum i tallverdien. Så komma/punktum-problematikken løste jeg ved å fjerne desimaler. Alternativt får jeg ta rådet fra @Actibus og endre språkoppsett i Windows til US. Måtte også fjerne "/" fra Publish Template i ESPEasy. Takker og bukker for all hjelp! Siter
gjomle Skrevet 11. november 2017 Forfatter Skrevet 11. november 2017 Hva er forresten den "beste" måten å få inn data til HS fra slike enheter? Er det JSON direkte fra enhet eller ville dere anbefalt en MQTT-løsning? Siter
Actibus Skrevet 11. november 2017 Skrevet 11. november 2017 Jeg bruker både JSON, men også Arduino plugin fra enigmatheater, den kan brukes både med Arduino og ESP/NodeMcu (beta plugin). Med plugin er det enkelt å sette opp inn/utganger uten noen programmering, evt kan man programmere selv også, du oppretter et nytt bord og laster ned en tom mal du kan bygge på. 1 Siter
Moskus Skrevet 12. november 2017 Skrevet 12. november 2017 Jeg DIGGER Arduino-plugin'en sammen med NodeMCU. ... men jeg liker at det er enkelt, da.... Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.