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

Fermate

Administrator
  • Innlegg

    1 909
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    146

Fermate vant dagen sist 12. februar

Fermate hadde mest likt innhold!

3 følgere

Hjemmeautomasjon

  • System
    HomeSeer

Nylige profilbesøk

13 065 profilvisninger

Fermate sine prestasjoner

Regelrytter

Regelrytter (12/16)

  • Første innlegg
  • Samarbeidspartner
  • Postmaskin Sjeldent
  • Samtalestarter
  • Ett år inn

Nylige merker

1,2k

Nettsamfunnsomdømme

  1. Interessant. Han du noen tanker om denne kontra SONOFF (bortsett fra nettporten) ?
  2. Kul idé! Jeg legger "deep sleep" på list mi over ESP32/MQTT-lego 🙂 (Har ikke hat tid til å legge ut nye "klosser" på en stund men det kommer 🙂 )
  3. men etter å ha tenkt meg om litt: Jeg Trenger jo ikke å gå via Voice Monkey for å trigge den WEB HOOKen i IFTTT ! Det er jo en vanlig link jeg kan fyre opp fra HomeSeer direkte https://maker.ifttt.com/trigger/startcoffee/json/with/key/xxxxx Å starte ting i HS fra Alexa gjør jeg jo allerede..
  4. Har lest litt på Voice Monkey sine sider i dag og satt opp en WEBHOOK i IFTTT som jeg kan kalle fra en FLOW i Voice Monkey. Denne kan jeg i sin tur kalle fra en ROUTINE i Alexa. Så da var kanalen åpnet for å lage kaffe fra senga igjen 🙂 Er litt usikker på hvordan jeg best kan styre antall kopper og slikt på en effektiv måte. Det logiske er en dialog med Alexa: Meg: Alexa, make coffee Alexa: OK, how many cups? Meg: 6 Alexa: at what strength Meg: Medium Alexa: Ok shall I start making 6 cups of medium strength coffe? Meg: yes MEN: Jeg vet at kona hater lange dialoger med Alexa så antakelig vis blir det bare: Alexa, Make 6 cups of coffee Jeg gleder meg til å se på mulighetene til å la Alexa snakke til meg trigget fra en Event i HS uten at jeg har snakket til henne først. Kommer muligens tilbake med en guide om tiden strekker til...
  5. Jeg har mange kaffetraktere fra Smarter. Gen 1 var lett å hacke og dermed lett å styre men gen 2 har kun ett API: IFTTT 😞 For å koke kaffe fra senga før jeg hadde stått opp ble det laget masse IFTTT triggere og startet dem fra Alexa: Alexa, trigger Make two cups of coffee Alexa, trigger Make four cups of coffee osv. Når IFTTT begynte å ta betalt for triggere over 2 stk ble dette gjort om til en start av den forhånds innstillte trakteren med en "Alexa turn on coffee" da dette merkelig nok var en av/på SWITCH som ALexa hadde detektert. Men så sluttet hele greia å virke; Alexa fant ingen switch lengre og så bestemte Amazon seg for å droppe support av IFTTT helt. I og med at IFTTT er den ENESTE måten jeg kjenner til som jeg kan starte kaffetrakteren på begynte jeg å lete etter omveier. (Kaffe laget fra senga slik at den er ferig når vi kommer ned om morgenen har VELDIG høy WAF.) Først trodde jeg at jeg måtte ha full IFTTT abonnement og bet i gresset og tegnet det. Og jada nå kan jeg styre kaffetrakteren fra IFTTT. Men hvordan få trigget IFTTT fra Alexa? Hm IFTTT har HomeSeer som en trigger... teste teste... NEI Det funker IKKE, dvs noen ganger funker det... noen ganger med en forsinkelse på 2 timer (ja du leste riktig).. men vanligvis ikke i det heletatt. Jeg har alltid ønsket meg at HomeSeer skulle kunne snakke til meg gjennom ALexa og gi meg beskjeder UTEN at jeg hadde snakket til Alexa først. "Nå er posten kommet" eller "Det har slått om til mildvær, ønsker du å skru på varmekabelen i takrenna?" Så da Voice Monkey kom, kastet jeg meg over det. Men igjen.. da det ble en betalt tjeneste sluttet den interessen. (Jeg brure jo skrive min egen skill ti Alexa men det blir liksom ikke noe av.... 😉 ) Men nå ser jeg altså at Voice monkey tilbyr å trigge en IFTTT teneste (så vidt jeg forstår?) så nå har jeg tegnet et fullt abonnement og forsøker å sette det opp. Men jeg finner bare andre veien? (Trigge ALexa fra IFTTT via Voice Monkey) Jeg trenger å trigge IFTTT fra Voice Monkey! HJELP!
  6. Her er kode for å lese NTP (OBS Uten noen WiFi som selvfølgelig trengs) Med NTP (Network Time Protocol) kan vi lese eksakt tid fra Internet. Da trenger vi selvfølgelig en Internet forbindelse. Det enklese er å bruke WiFiManager men siden dette er en guideserie primært for MQTT bruker vi like godt den isteden. Det er liten vits i å kalle NTP bibliokeket før vi har fått WiFi forbindelse så jeg bruker if (MQTTclient.isWifiConnected()) { for å sjekke dette. NTP Biblioteket kaller selv opp NTP serveren hvert 60 minutt og i starten kan det ta litt tid før vi får første tidsavlesning. Før tid er klar vil biblioteket returnere tid = 0 som er 00:00:00 1/1-1970 Av en eller annen grunn returnerer den 124 for år nå isteden for 2024. Om noen har tips om å fikse/forklare dette er det fint. For å få riktig tidssone og sommer/vintertid sier vi ifra om dette til biblioteket. Kodene er hentet herfra: https://ftp.fau.de/aminet/util/time/tzinfo.txt Her er komplett kode med MQTT som leser klokka og skriver den til Serial Monitor: Jeg bruker onboard LED til å vise om jeg har WiFi connect.
  7. Takk for tips @SveinHa og @ZF- ! Er alle Shelly'ene MQTT? Er disse to det? https://www.elektroimportoren.no/shelly-dimmer-2/94366/Product.html https://www.elektroimportoren.no/shelly-plus-plug-s/94452/Product.html De fungerer da UTEN Shelly sin cloud?
  8. Jeg har lekt med svakstrøm siden 1974 og alltid vært fasinert av hva en kan lage selv for en billig penge. Dersom du er helt ny på feltet kan kanskje noen av disse tipsene være til hjelp. Breadbord og Dupont kabler Om du skal leke med ESP32 og elektronikk er det enkleste å skaffe seg et "Solderless Breadbord" med en gang. Dette er små plater med fjærbelastede kontakter under små hull som du kan stikke ledninger ned i, og slik koble dem sammen uten å lodde. Diise finnes i små versjoner også men det er like greit å kjøpe en stor med en gang. Ali har noen helt greie til en billig penge. https://www.aliexpress.com/item/1005005891244166.html Du kan bruke vanlig stiv koblings-tråd også men noen ordentlige Dupont kabler med farger er mye bedre Disse finnes i forskjellige lengder og som han-han, han-hun og hun-hun De kommer sammenkoblet i lange lakrisbånd og så kan du dra dem av en og en eller i grupper på to eller fler. Her er noen riktig billige jeg fant: https://www.aliexpress.com/item/1005002592440431.html Motstander Du kommer ikke langt før du trenger en motstand eller to og det er like greit å kjøpe et sett med det samme. Du klarer deg fint med 5% nøyaktighet men nå koster 1% nesten det samme. Det holder også med E-12 serien (og ikke E-24) så blir det ikke så mye å holde styr på. Kjell har et fint sett https://www.kjell.com/no/produkter/elektro-og-verktoy/elektronikk/komponentsett/playknowlogy-motstandssortiment-1460-pk.-p90435 Motsander er fargekodet på denne måten. Men det kan også være greit å kunne sjekke dem med et mulitimeter, og det må du ha uansett. Multimeter Jeg synes dette fra Kjell er veldig hendig og enkelt å bruke. https://www.kjell.com/no/varemerker/uni-t/elektro-og-verktoy/verktoy/maleinstrumenter/multimetere/uni-t-ut125c-multimeter-p48874 Strømforskyning For meg er det stas å ha en ordentlig lab-strømforskyning, og de kan du få ned til noen hundrelapper fra Ali også. Velg en med 30V og minst 3A som har instilling av Spenning og Strøm og display. Men du kan også klare deg med en vanlig batterieliminator på ca 12V og en stillbar spenningsregulator som du setter ned på breadboardet. Best med display så du vet at du ikke svir av noe du kobler til. Andre komponenter Når du har dette på plass er du godt rustet til å teste ut motorer, steppere, servoer eller andre ting du vil ha i prosjektet ditt. Men når du er godt i gang kan det være litt surt å plutselig mangle noe standard greier og måtte vente på å få det i posten eller måtte kjøpe det til blodpris her i Norge fordi du er utolmodig. Jeg har et sett med kondensatorer liggende: Husk å dobbelt sjekke polariteten på elektrolytt kondensatorer. Kobler du dem feil vei så smeller de 😞 Og en boks med assorterte små transistorer er alltid kjekkt å ha Skulle det være noe mer beredskaps greier nå så måtte det være noen dioder, LED og noen potensiometere kankje Lodding Alt dette er greit for å sette ting opp og se at det virker, men om du kan ta dette ibruk kan det jo ikke sitte på et breadboard med en haug med spaketti-kabler. For å få det solid må det loddes. Kjøp deg en ordentlig loddebolt med en gang så slipper du ihvertfall frustrasjon med at verktøyet ikke er bra. Denne er jeg veldig begeistret for: Mulig jeg kjøpte den hos Kjell: https://www.kjell.com/no/produkter/elektro-og-verktoy/verktoy/lodding/loddebolter/luxorparts-pro-60-w-loddestasjon-p40570 Eksprimentkort med kobberstriper eller 3 eller 5 hull sammen er greie til små ting. Jeg kommer kanskje med en egen miniguide om lodding senere om det er stemning for det. Spennings regulatorer Det kommer en egen guide om spenningsregulatoerer men imens vil jeg bare si at de små step-down regulatorne her er veldig greie å ha liggende: Jeg handler slike i sett på 10 om gangen 🙂
  9. Egentlig lurer jeg på hvorfor jeg ikke kan kjøre WiFi på alt utstyr som ikke har batteridrift... Kanskje det å bytte ut det som er enkelt av Zwave nettet først og så se om det er en av de nodene som støyer? Det må jo da bli Plugin switcher og plugin dimmere. Finnes det noen WiFi Plugin switcher (10A) og dimmere på WiFi som er OK sammen med HomeSeer?
  10. Med MQTT biblioteket vi har brukt til nå er OTA latterlig enkelt. Bare legg til en (eller begge) av disse linjene: OTA (Over The Air (update)) er muligheten til å laste opp nye programmer til ESP32en over WiFi uten å måtte koble til en kabel. Det kan jo være veldig greit om prosessoren sitter i en boks i garasjen eller på loftet. Jeg har vært litt redd for å gå løs på dette siden jeg regnet med at det var komplisert og mye å lære seg, men i dag satte jeg meg ned for å se på det og oppdaget til min store glede at dette jo er kjempelett med det biblioteket vi har brukt for MQTT i denne guide serien 😄 Det er to måter å gjøre det på, jeg skal beskrive begge: Metode #1 Arduino IDE Legg til denne linjen rett etter setKeepAlive kallet MQTTclient.enableOTA("pwd"); og endre PWD til ditt eget passord. Du kan bruke ditt eget program eller dette programmet for å teste: Koble ESP32en til med kabel som vanlig og kompiler og last opp programmet. Sjekk at programmet virker (testprogrammet blinker). Trekk nå ut USB kabelen av ESP32en og sett den på en strømforskyning (5V mellom VIN og GND) Eller du kan jo bruke en Mobillader og plugge USBen i den. Nå skal vi gjøre en oppdatering og laste den opp OTA: Endre blinkTime=1000; til blinkTime=200; Ettet at ESP32en startet skal du nå ha fått et nytt valg i PORT menyen: Velg denne og ikke bry deg om denne feilmeldingen: Nå kan du trykke på "Upload" knappen og da skal du få opp Passordbildet: (Om det ikke kommer opp, prøv å restarte IDE) Da er det bare å skrive inn passordet du satte i enableOTA kallet (eks. "pwd") og trykke UPLOAD. Nå kan du få noen brannmur advarsler som du svarer OK på og om alt går bra kommer meldingen: Og opplastingen starter: Nå skal lyset blinke mye raskere for å vise at ESPen har fått et oppdatert program 🙂 Metode #2 HTTP Webupdater I denne metoden legger du til denne linjen MQTTclient.enableHTTPWebUpdater("meg","hemmelig"); med et passende brukernavn og passord. Når du har endret programmet og er klar til å laste det opp bruker du dette menyvalget: Den vil da lage en mappe "build\esp32.esp32.esp32" under prosjektmappen og legge BIN filen der. Du kan nå gå i en browser og skrive inn IP adressen til ESP32en som du fant i PORT valget tidligere og få login til Web serveren som nå kjører på ESP32en: Når du har logget på får du denne flotte siden: hvor du kan velge den ".bin" filen vi akkurat produserte og laste den opp med Update: Tada! Ferdig. Det skal finnes løsninger der ESP32en selv går å henter nye filer men det får hellere DERE lære meg. Jeg har altså akkurat funnet ut av dette 🙂 Tanken var å slippe en LEGO klass en gang i uka men dette er så viktig så jeg må bare slippe denne her med en gang 🙂
  11. Fermate

    ESP32/MQTT Viftestyring (4)

    Nei jeg har ikke gjort dette selv så jeg bare nevnte det på slutten. (Jeg trengte ikke dette da jeg hadde prosjektet på gang) Jeg har en følelse av at noen vifter sender disse pulsene som 12V og at de må ha en motstand eller to for å ta spenningen ned til 3,3V for ikke å svi av ESP32en. Har en vag følelse av at jeg målte 12V med et multimeter. Men andre steder står det at pulsene kommer som kobling mot ground og at de trenger en pullup resistor. Det siste er jo unødvendig siden sensor pinnen kan defineres med pinMode( X, INPUT_PULLUP ); Si gjerne ifra om du finner ut noe så oppdaterer jeg guiden. Du trenger jo ikke MQTT for dette da. Bruk et Potensiometer sammen med ESP32en for å regulere hastigheten. Goggle så finner du eksempler på dette.
  12. Har testet nå og det ser bra ut!
  13. Hva med å bruke samme som status og la LWT overskrive den? --- MQTTclient.enableLastWillMessage("OTATestClient/status","OffLine"); --- void onConnectionEstablished() { Serial.println("onConnectionEstablished"); MQTTclient.publish("OTATestClient/status", "OnLIne"); }
  14. Fermate

    ESP32/MQTT Servostyring (5)

    Her er basis kode for å styre en Servo, med den innebyggede PWM funksjonaliteten: Det er gøy å få ting til å bevege seg og servoer er enkle å jobbe med. En servo er en motor med girkasse og en tilbakekobling for å kunne sjekke sin egen posisjon. Når den får beskjed om å flytte seg til en ny posisjon starter den motoren og stopper når sensoren sier den er kommet dit. Små billige servoer styres med pulser der bredden på pulsen styrer posisjonen. Den kobles til med 3 ledninger: Pluss, minus og Puls-Signal. Her er noen vanlige fargekodinger: Det finnes noen Servo biblioteker en kan bruke men noen av den fungerer ikke med ESP32. Fordi ESP32 har innebygget funksjonalitet for å styre LED med pulsbredde bruker jeg like godt dette istedet. (Som dere ser ligner koden på viftestyringen i forrige guide) Forskjellige servoer har forskjellige reaksjoner på pulsbredden. Noen lar motoren gå kontinuerlig på bestemte verdier og mange har bare små puls områder der de reagerer. Kanskje fra 10 til 30. Jeg anbefaler å eksprimentere med den enkelte servo for å finne endeverdiene. Om du skal mappe disse til et smarthus system som går fra 0 til 100 % (Som en dimmer) kan du gjøre dette med denne kommandoen: iPos= map(iPos,0,100,MIN_SERVO_POS,MAX_SERVO_POS); Så kan du sette de endeverdiene du fant inn i konstanter slik: #define MIN_SERVO_POS 12 #define MAX_SERVO_POS 30 Jeg preier likegodt å eksponere både den mappede og den rå posisjonen over MQTT interfacet. (Det koster jo så lite) Så blir testingen (og evnt. rejustering) enklere. Her er kode for å styre 2 servoer over MQTT med både rå og mappede verdier:
  15. @SveinHa Her er et eksempel som virker: Jeg trodde meldingen skulle komme 60 sek ( setKeepAlive(60); ) etter at power forsvant men det er visst ikke helt sånn. Noen steder står det KeepAliveTime * 1,5 men jeg målte 30 sek noen ganger også. Si ifra om du finner ut logikken. Har testet både med og uten retain = true. Fra MQTT Esplorer:
×
×
  • 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.