Jump to content

Båtautomasjon med batteriovervåking og Zigbee


Sjøbliss

Recommended Posts

@Fantino Aha, takk! Det forklarer litt. Jeg er som sagt blank på den fysiske elektroniske siden av dette. Men da har jeg i så fall et problem, for det er bare 02, 12 og 04 som står som wpd, og da mangler det jo én.

 

Og jeg har aldri satt mine bein i en Arduino, så det aner jeg ikke... Kanskje jeg blir nødt til å rote meg inn på ENDA et forum, for ESPHome? Jeg prøver å holde det på et minimum, jeg er på en dullion forumer fra før av.

 

Edit: Verken 02 eller 04 fungerer som de skal, det er ingen reaksjon på noen av dem.

Redigert av Mastiff (see edit history)
Link to post

Ja det er en dårlig løsning. Men du kan sette på pull up resistorer på pinnene og tvinge de høye frem til de settes lave av ESPHome. Mulig du kan enable interne pull ups også i oppstart (har gjort det selv for å forebygge akkurat det problemet, men på Arduino). Mener jeg har sett at pull up (til 3.3V) skal være 40k på esp32.

Link to post

@Fantino Problem løst! Det var den metoden jeg prøvde, men det ville ikke fungere. Så fant jeg ut noe jævlig rart: Pin 21, 22, 23, 19 og 18 reagerte på den samme pinnekommandoen på ESP-en min! :headbang: Og den pinnen adlød heller ikke restore mode. Det viste seg at noe gikk galt når jeg oppdaterte OTA, for å bruke akkruat det samme skriptet for å programmere via USB-pluggen, fungerte som det skulle. Jeg aner absolutt ikke hvorfor, men nå gjør pinnene som jeg vil, og de adlyder Always on. Man lærer stadig noe nytt. :thumbsup:

 

Link to post

Nei.. Jeg er lykkelig eier av en Taycan 😇 Men appen og OTA er helt så där ift Tesla kan du trygt si. Men jeg kjøpte den ikke på grunn av appen heldigvis! De åpnet reservasjonene på bursdagen min for et par år siden og ingen kjøper jo gaver til meg lenger samt at min kjære gamle BMW snart var tenåring.. Virker som om alle tyske (eller de aller fleste utenom Tesla egentlig) er alldeles noobs på dette app/onlinegreiene.

Link to post

Oi, bør jeg heretter tiltale med "Dem" eller "Deres nåde"? :giggle: Morsom bil, den er nesten like rask fra 0-100 som motorsykkelen min. Men bare nesten. :lol: Men jeg tror du skal ta det ganske med ro, jeg kjenner et par som har Tesla, og selv om programmeringen er av toppkvalitet kan man ikke si det samme om verken servicen eller det mekaniske. Interiøret er absolutt ikke på nivå med noe som helst tysk, det holder knapt Skoda-mål. Det er ikke i samme klasse som min 2013-modell Volvo X60 D4.

Link to post

Haha. Tror min er den kjipest speccede i landet men jeg er happy. Den er i alle fall rask nok til at kidsa ville ha frisk-luft pause etter et par launch-starter 😂 Turte ikke vente lenger med elbil for dette moms/avgiftsfritaket kan umulig vare i det uendelige.. Jeg havnet nesten på en Tesla M3 men måtte kapitulere da legemet mitt rett og slett ikke passet i de setene. Tenker som deg at de er et godt stykke bak kvalitet og finish, men at det tross alt var de som viste veien. Uten Tesla hadde vi vel hatt Think fremdeles (grøss..). Så vil det jo vise seg da om elbil egentlig var svaret. God knows. Men foreløpig kjekt å studere ‘drivstoffkostnadene’ i Tibber-appen i alle fall

Link to post
Mastiff skrev for 1 time siden:

Det viste seg at noe gikk galt når jeg oppdaterte OTA, for å bruke akkruat det samme skriptet for å programmere via USB-pluggen, fungerte som det skulle. Jeg aner absolutt ikke hvorfor, men nå gjør pinnene som jeg vil, og de adlyder Always on. Man lærer stadig noe nytt. :thumbsup:

 

Er ganske fersk på Esphome selv, har nettopp tullet fælt med en BME680 sensor. Får den ikke til, ESP32 går bare i reboot loop. Ga opp og prøvde med en ESP8266 hvor den kom rett på nett.

Men innimellom feilsøkingen så jeg noe om at noen library er avhengig til å justere størrelsen på partisjoner(?) og man må da legge dem inn via USB første gang, etter de er inne så kan man bruke OTA. Prøvde å finne igjen teksten nå, men det gjorde jeg ikke.

Link to post

@Fantino Ja, Tesla er akkurat motsatt av Apple. Tesla er et teknologiselskap. Apple er et designselskap. De finner ikke på noe selv, men gjør ting penere. Mens VAG-konsernet og ganske mange andre er ekte bilselskaper. Litt vel trauste, men de lager noe som stort sett fungerer mekanisk...bortsett fra det j... sinkslippet til VW, Audi og Skoda som fikk meg til  å gå over til Volvo. Golfen, Touranen og Octaviaen som jeg har hatt, kunne man omtrent stå der og høre at rustet...  Men elbil er en del av svaret, iallfall for nå. Godt mulig at hydrogen vinner til slutt, men det er for dårlig utbygd. Elbil funker jo forholdsvis dårlig når man skal kjøre langt og trekke tungt. Jeg ville nok brukt ganske lang tid fra Trondheim til Mandal med to tonn Mad Max med henger i sommer hvis jeg hadde kjørt Tesla X, den måtte jeg nok ladet for hver 20. mil, eller noe sånt. :giggle:

Redigert av Mastiff (see edit history)
Link to post

@Fantino Nå tror jeg virkelig det spøker her! :headbang: Jeg trodde alt var i orden, men så viser det seg at etter et par-tre omstarter, lagrer ikke ESP-en lenger state, da beholder den en state fra en tidligere omstart, og den blir aldri endret. Men dette skjer bare med den strømforsyningen jeg har vist deg tidligere i tråden. Det fungerer hvis jeg kjører 12V strøm til spolene til releet og så bruker en USB-plugg til å drive selve ESP-en, mens jeg kjører sammen jord fra ESP-en og 12V jord. Kan det være fordi spenningen er for høy? Den strømforsyningen gir ut 5.3V, mens jeg ser at en tilfeldig valgt USB-lader gir 4,85V (ifølge mitt hypernøyaktige Biltema-multimeter til minst 99 kroner...).

 

Jeg hadde håpet at jeg skulle slippe å fikle med 12V til USB-overganger inni der. Biltema har noen greie, men jeg skulle gjerne vært uten dem. Men jeg har kommet til at jeg trenger at ESP-en husker strømtilstanden hvis den tar en omstart.

 

Edit: Etter at den har vært tilkoblet USB, så husker den det som var der når jeg kobler den til 5V-strømforsyningen. Noen ganger klarer den også å lagre status 2-4 ganger på strømforsyningen, men så er det slutt, og den blir stående på det den var sist jeg startet  den om igjen.

 

Edit 2: Nei, glem det. Jeg lot den ligge en stund uten strøm, og den husker det ikke med USB-en heller når jeg slår den på igjen. Jeg tror jeg må gå på ESP-forumdelen til Hass og prøve å finne ut noe der.

Redigert av Mastiff (see edit history)
Link to post

@Mastiff: Her er jeg på utrolig tynn is siden jeg ikke aner hvordan ESP home realiserer lagring av state. Mulig det finnes noen kommandoer som feks kan tvinge fram lagring av state til EEPROM ved hver endring, og alltid lese denne tilbake ved oppstart? Er i alle fall en metode jeg har brukt men igjen bare i Arduino IDE.

 

Det lukter at strømmen brytes kjappere med den første strømforsyningen. Jeg har et par ganger koplet et passende elektrolyttkondensator mellom Vin og GND for å gi prosessoren noen millisekunder ekstra tid til å ‘stenge ned’ dersom strømbrudd og det har funket fint. Om du ikke får til ‘tvungen’ lagring slik nevnt over kan det være et forsøk verdt.

 

ESP skal tåle inn til 12V inn på Vin da den har innebygget regulator så ville ikke vært bekymret for 5.3V.

Link to post

@Mastiff: Jeg satt og funderte litt på akkurat det. Hvis reboot overstyrer ‘alt’ så kommer det gjerne bare an på i hvilket millisekund du trigger den? Men i så fall blir åpenbart ikke state lagret noe sted underveis i loopen. Kun ved ‘exit’.

 

Har kikket litt og ser du ikke er alene om det problemet men jeg greier ikke helt å finne en enkel ‘lagre variabel ved endring i state’ og ‘lese den inn ved boot’ da jeg er ganske ‘brød’ i ESP Home. Tenker at det er det du trenger for å unngå slike glitcher.

 

Av en eller annen grunn er det alltid noen som er allergiske mot å bruke Flash/EEPROM (se link under). Dersom den kun brukes når du faktisk opererer et rele tror jeg det flashminnet overlever oss alle (så det testet til døde på YouTube på en Arduino og det tålte i overkant av 1 mill read/write cycles, dvs 10 x garantert antall).

 

https://github.com/esphome/ESPHome/issues/70

 

 

Link to post

Å flashe en EEPROM plager meg null og niks, det har ikke noe å si for meg om denne greia varer fem år istedenfor 20. :giggle: Men det virker som om den ikke lagrer i det hele tatt, for etter at det har begynt, kan jeg ta reboot, slå på eller av noen releer og ta ny reboot så mange ganger jeg vil, og den blir fremdeles stående på den siste stillingen før dette begynte.En lagring av variabel er akkurat det jeg trenger, men som du sier, er det ingen muligheter å finne for det. Jeg begynner å lure på om jeg må bruke en gammel Pi 3B istedenfor for å få det helt pålitelig. jeg har noen stykker liggende etter oppgraderinger til Pi 4 i deler av systemet som styrer huset mitt.

 

Link to post

Nå har jeg ikke lest hele linken som Fantino lå ut.

 

Men kan disse være noe, eller har jeg misforstått problemstillingen?

 

restore_mode (Optional): Control how the GPIO Switch attempts to restore state on bootup. For restoring on ESP8266s, also see esp8266_restore_from_flash in the esphome section.

  • RESTORE_DEFAULT_OFF (Default) - Attempt to restore state and default to OFF if not possible to restore.

  • RESTORE_DEFAULT_ON - Attempt to restore state and default to ON.

  • ALWAYS_OFF - Always initialize the pin as OFF on bootup.

  • ALWAYS_ON - Always initialize the pin as ON on bootup

esp8266_restore_from_flash

With this option you can control where the state of certain components is kept on the ESP. Components like light, switch, fan and globals can restore their state upon boot.

However, by default this data is stored in the “RTC memory” section of the ESP8266s. This memory is cleared when the ESP8266 is disconnected from power. So by default the state cannot be recovered after power loss.

To still have these components restore their state upon power loss the state can additionally be saved in flash memory by setting this option to true.

Beware: The flash has a limited number of write cycles (usually around 100 000), after that the flash section will fail. So do not use this option when you have components that update rapidly. These include GPIO switches that are used internally (disable restoring with the restore_mode option), certain light effects like random and the on_value_range trigger.

Link to post

Det er akkurat den funksjonen som nekter å oppføre seg som den skal hos meg. Den nederste delen gjelder ikke mine enheter, for jeg har ESP32, ikke 8266.

 

Edit: Jeg lurer på om jeg skal prøve å gjøre YAML-en min helt grunnleggende, uten de ekstrafunksjonene jeg har lagt til (som omvendt logikk og utløsing indirekte ved et skript utløst av MQTT istedenfor å bruke den innebygde utløserfunksjonen). Kanskje det kan hjelpe?

 

Edit 2: Niks, det hjalp ikke i det hele tatt.

Redigert av Mastiff (see edit history)
Link to post

Jeg leste også på akkurat det @Dreuf la ut men siden denne restore funksjonen ikke virker å være stabil er det vel en bedre strategi å lagre status etter alle tastetrykk slik at det ikke har noe å si om restore blir utført ved reboot eller ikke. Men hvordan vet jeg jo ikke 😝😄.. Men jeg vil tro at en esp32 kunne landet romfergen alene så det MÅ da gå an.

Link to post

@Fantino Jeg vet hvordan jeg kan gjøre det, men jeg har lagt inn en issue på Github for å se om det kan føre til noe. Hvis ikke, skal jeg legge inn en loop i Node-RED, så den fanger opp også de vekslingene som gjøres fra Hass og sender ut MQTT-kommando for dem. Hver gang releet veksles, går det jo ut en MQTT som NR fanger opp, og da må Node-RED sende en MQTT med retained flag som gir samme kommandoen. Det er jo ikke noe problem med en evig loop, for jeg bruker ON/OFF som ligger innebygd i ESP-en som trigger, og den sender bare når releet faktisk veksles. Så det blir bare snakk om noen sekunders opphold med dette opplegget. Men det hadde jo vært bedre om ESP-en faktisk husket det, for da er det ikke noe opphold i det hele tatt, tror jeg.

 

 

 

Link to post

Blir spennende å se fortsettelsen selv om jeg sliter med overblikket mellom de forskjellige ‘lagene’ her (ESPhome, Node Red, osv). Kan fort få et bra tips på GitHub ville jeg tro. Jeg synes imidlertid det er gøy å grave litt for min egen del så jeg snublet over denne tutorialen som vel viser hvordan en kan bruke små snipper med C++ for å lage ‘generisk custom components’ som muligens kan være en av mange veier i mål.. https://esphome.io/custom/custom_component.html

Link to post

Delta i diskusjonen

Du kan skrive innlegget nå, det vil bli postet etter at du har registrert deg. Logg inn hvis du allerede er registrert.

Guest
Svar på dette emnet

×   Du har postet formatert tekst..   Fjern formattering

  Only 75 emoji are allowed.

×   Innholdet du linket til er satt inn i innlegget..   Klikk her for å vise kun linken.

×   Det du skrev har blitt lagret.   Slett lagret

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...