Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Styre ESP8266 fra Domoticz?


Venin

Anbefalte innlegg

Jeg har en ESP8266 kjørende på NodeMcu som styrer et lite LED-lys, og har satt opp en webserver med On/Off-knapp. Men hva er en god måte å trigge dette fra Domoticz? Jeg har sett noen guides som bruker nc til å sende kommando, men jeg har serveren på Windows og har ikke lyst til å styre med Cygwin.

 

Først tenkte jeg en bryter i Domoticz som åpna http://ip/ledOn, men det var visst ikke helt enkelt å hente inn parametre fra URL i LUA. Så så jeg på HTTP POST fra Domoticz, men det kom jeg heller ingen vei med. 

 

Any ideas? ?

Lenke til kommentar
Del på andre sider

Yey! Kunne bruke Curl siden det fantes greit til Windows. Kommandoen blir da curl -X POST -d led_light_switch=Off http://10.0.0.15:80 -m 1 .

 

Skulle helst hatt en bedre måte å drepe Curl-prosessen for å unngå disse "script_device_esp8266.lua has been running for more than 10 seconds", men -m 1 stopper den i hvert fall etter et sekund.

 

commandArray = {};
DomDevice = 'ESP8266'
IP = '10.0.0.15'
Port = '80';
 
function send(msg) 
   runcommand = "curl -X POST -d "..msg .." http://"..IP..":"..Port.." -m 1"
   print (runcommand)
   os.execute(runcommand)
end
 
if devicechanged[DomDevice] then
 if(devicechanged[DomDevice]=='Off') then 
     print("Turning the light OFF")
     send("led_light_switch=Off") 
 elseif (devicechanged[DomDevice]=='On') then
     print("Turning the light On")
     send("led_light_switch=On") 
 else
     print(devicechanged[DomDevice].." is neither ON or OFF") 
 end
end;
return commandArray

 

Lenke til kommentar
Del på andre sider

Jeg har en ESP8266 kjørende på NodeMcu som styrer et lite LED-lys, og har satt opp en webserver med On/Off-knapp. Men hva er en god måte å trigge dette fra Domoticz? Jeg har sett noen guides som bruker nc til å sende kommando, men jeg har serveren på Windows og har ikke lyst til å styre med Cygwin.
 
Først tenkte jeg en bryter i Domoticz som åpna http://ip/ledOn, men det var visst ikke helt enkelt å hente inn parametre fra URL i LUA. Så så jeg på HTTP POST fra Domoticz, men det kom jeg heller ingen vei med. 
 
Any ideas? ?


Støtter Domiticz MQTT? Kanskje litt mer å sette opp første gangen, men gir også flere muligheter etter hvert som behovet vokser?

Sent fra min EVA-L09 via Tapatalk

Lenke til kommentar
Del på andre sider

42 minutes ago, Guahtdim said:

Domoticz støtter Mqtt. Men det blir kanskje litt mye å sette seg inn i. 

 

Har akkurat satt opp MQTT med Home Assistant. Tar litt tid å sette seg inn i, men når du først har gjort det er det utrolig mye du kan få til :) Setter opp flere NodeMCUer i leiligheten min nå med dette, og angrer ikke et sekund på at jeg begynte på dette. Før brukte jeg curl, men har gått helt bort i fra det nå. MQTT er, sånn jeg ser det, bedre i og med at du kan få de til å garantere at beskjeden kommer frem, legge nye beskjeder i kø i tilfelle en node er nede, osv. Jeg bruker bare standardinnstillingene i Home Assistant og det fungerer perfekt.

Lenke til kommentar
Del på andre sider

1 time siden, Actibus skrev:

Har du prøvd EasyESP? 

En kamerat bruker det mot domoticz for å lese av temperatur, brytere og trigge releer

 

Støtter denne. EspEasy er helt genial. Bruker alltid denne med mindre det er noe helt spesielt jeg skal gjøre.

 

Det er også en versjon 2 som skal ta over etter hvert: https://www.letscontrolit.com/wiki/index.php/ESPEasyMega

 

Lenke til kommentar
Del på andre sider

Valgte å styre unna EasyESP nettopp fordi det er mer begrenset enn NodeMcu, men jeg fikk det jo til til slutt. Foreløpig har jeg ingen planer på hva jeg skal bruke min ESP8266 til heller. ?

 

Men hvis jeg finner ut at vil ta meg bryet med å se på MQTT, hvordan fungerer det teknisk siden det er maskin-til-maskin? ESP8266-en er vel uansett tilknyttet det vanlige lokale nettverket?

Google Foto.png

Lenke til kommentar
Del på andre sider

Du må sette opp en MQTT broker som er mellomstasjon/sentral/dispatcher for MQTT-meldinger. Du kan slippe unna dette ved å bruke en public broker, men da må du ha åpent både inn og ut av nettverket og jeg tror du må betale for kryptering.

 

Hive MQ er en public broker med gratis testing av opp til x antall enheter.

 

Mosquitto er relativt populær å kjøre lokalt i Home Assistant-miljøet/linux virker det som.

 

Jeg ser for tiden på det samme. Bruker ikke MQTT i dag, men har 3 stk ESP8266 som ligger og venter på å bli brukt...

 

Den ene blir nok testet med ESPEasy med ultralydsensor for å sjekke om det står biler på parkeringsplassen. Venter bare på de siste delene.

Lenke til kommentar
Del på andre sider

  • 5 måneder senere...

Jeg bruker PlatformIO  for å lage firmware på ESP, som deretter gjør API kall til Domoticz. Hittil har ingen av oppgavene jeg har trengt vært av en sånn karakter at Domoticz må kontakte ESP, og det er en fordel da tingene vi snakker om er batteridrevet.

Lenke til kommentar
Del på andre sider

  • 3 uker senere...

Istedet? Hvilken funksjon gir MQTT som du ikke har i Domoticz?

 

Alle sensorer jeg har er representert i Domoticz. Alle brytere jeg har er representert i Domoticz. Domoticz gjør all logging jeg er interessert i. 

Lenke til kommentar
Del på andre sider

15 minutter siden, rozon skrev:

Istedet? Hvilken funksjon gir MQTT som du ikke har i Domoticz?

 

Alle sensorer jeg har er representert i Domoticz. Alle brytere jeg har er representert i Domoticz. Domoticz gjør all logging jeg er interessert i. 

 

MQTT er fint for oss som kjører flere systemer. Da er det lett å pushe all info fra alle systemer ut på MQTT så kan hvilket som helst system hente inn den infoen systemet har lyst på.

Lenke til kommentar
Del på andre sider

15 minutes ago, ronnyandre said:

En grunn til å kjøre MQTT er jo at det er kjapt og enkelt å sette i gang. Det er jo allerede innebygget i Domoticz.

Enda enklere å la være om du ikke har et spesifikt formål med det.

 

2 minutes ago, xibriz said:

 

MQTT er fint for oss som kjører flere systemer. Da er det lett å pushe all info fra alle systemer ut på MQTT så kan hvilket som helst system hente inn den infoen systemet har lyst på.

Ser den, men MQTT er beregnet på at sensorer snakker direkte med MQTT serveren og noder abonnerer på data og at nodene er desentralisert. Når du bruker systemer som noder i MQTT mener jeg man kanskje bør vurdere om man har rett system til å begynne med. Selv jobber jeg for at Domoticz skal være eneste system i huset, og valget falt på Domoticz nettopp fordi da slapp jeg kjøre flere systemer. Så langt har jeg ingenting som Domoticz ikke takler.

 

For noe så enkelt som det trådstarter driver med/spør om så er MQTT helt unødvendig.

Lenke til kommentar
Del på andre sider

Du må ikke bruke MQTT.

 

Du kan implementere webserver på NodeMCU-en som du kan aksessere via wifi og konfigurere direkte på device'n. Eksempel med temp/fukt-avlesing: https://learn.adafruit.com/esp8266-temperature-slash-humidity-webserver/code

 

Alternativt kan du også fra NodeMCU-en sende requests med data direkte til Domoticz (og sikkert også HomeSeer) via JSON API-et.

Lenke til kommentar
Del på andre sider

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.