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

Fermate

Administrator
  • Innlegg

    1 943
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    162

Alt skrevet av Fermate

  1. Takk for tips. Har oppdatert teksten
  2. 26/2-2016 postet Moskus dette: Siden da har han postet 16 246 ganger til Vi har altså drevet hjemmeautomasjon.no i over 6 år nå. 6000 medlemmer har snart postet 100 000 innlegg. Men vi vet også at de som bare leser forumet uten å registrere seg er nesten like mange. @iblis, @Moskus og jeg ( @Fermate ) har drevet dette som ren hobbyvirksomhet og i starten hostet vi forumet på en billig server. Etterhvert som trafikken økte begynte vi å oppleve dårlige responstider og vi oppgraderte server og linjehastigheten til Premium. I midten av 2020 hadde vi et krasj der vi oppdaget at backupen ikke var helt på stell og det ble gjort endringer som sørget for at noe så flaut ikke skulle skje igjen. I følge TU er vi blitt et referansepunkt for hjemmeautomasjon i Norge (da de skulle skrive om AMS målere oppdaget de at nesten alt de google var referanser til oss ) Det finnes riktignok et par Facebookgrupper som har mye trafikk og er fine til å stille et raskt spørsmål, men forumet vårt har heldigvis lite poster av typen "Ja dette er kanskje ikke helt smarthus eller IoT akkurat men siden det er så mange smarte folk her inne så spør jeg her allikevel:" - Og så et spørsmål om noe som overhode ikke har noe som helst med smarthus eller IoT å gjøre og til og med noen ganger ikke noe med elektronikk en gang 🤪 Vi mener selv at forumet er et bra sted å spørre og diskutere men kanskje framfor alt et supert sted å finne løsninger som andre har gjort på ting du selv trenger. Fram til nå har vi tre administratorene betalt hele kalaset ut av egen private lomme uten en eneste inntektskilde. Ingen reklame Ingen produktplassering Ingen rik eier eller firma i ryggen Ingen sponsorer Ingen ting Sånn kan det dessverre ikke fortsette i lengden! Men hva bør vi gjøre? Som vanlig ønsker vi å høre hva dere mener om den saken, så si deres mening under her. Som en foreløpig løsning har vi gjort klar en mulighet til å sponse oss, enten med et engangs beløp eller med et fast månedlig beløp: <- Klikk her for å se alternativene Det er klart at det er fint med et engangsbeløp om dere er ekstra begeistret over en artikkel eller en løsning på et problem som dere har lett lenge etter, men for oss ville det være enda finere å ha faste beløp som kom hver måned selv om de var små. Dette ville gjøre det mer forutsigbart for oss og enklere å legge planer for å øke kvaliteten. Logikken er at om alle 6000 medlemmene hadde betalt1 kr i måneden hadde vi hatt nok til både drift og til å betale noen for både moderering og innhold Vi har alle faste jobber ved siden av og har ikke tenke å bli rike på dette men bruke alle midlene på å gjøre forumet enda bedre ! Så kom igjen; kjør diskusjon og registrer dere som "sponsorer"!
  3. 26/2-2016 postet Moskus dette: Siden da har han postet 16 246 ganger til Vi har altså drevet hjemmeautomasjon.no i over 6 år nå. 6000 medlemmer har snart postet 100 000 innlegg. Men vi vet også at de som bare leser forumet uten å registrere seg er nesten like mange. @iblis, @Moskus og jeg ( @Fermate ) har drevet dette som ren hobbyvirksomhet og i starten hostet vi forumet på en billig server. Etterhvert som trafikken økte begynte vi å oppleve dårlige responstider og vi oppgraderte server og linjehastigheten til Premium. I midten av 2020 hadde vi et krasj der vi oppdaget at backupen ikke var helt på stell og det ble gjort endringer som sørget for at noe så flaut ikke skulle skje igjen. I følge TU er vi blitt et referansepunkt for hjemmeautomasjon i Norge (da de skulle skrive om AMS målere oppdaget de at nesten alt de google var referanser til oss ) Det finnes riktignok et par Facebookgrupper som har mye trafikk og er fine til å stille et raskt spørsmål, men forumet vårt har heldigvis lite poster av typen "Ja dette er kanskje ikke helt smarthus eller IoT akkurat men siden det er så mange smarte folk her inne så spør jeg her allikevel:" - Og så et spørsmål om noe som overhode ikke har noe som helst med smarthus eller IoT å gjøre og til og med noen ganger ikke noe med elektronikk en gang 🤪 Vi mener selv at forumet er et bra sted å spørre og diskutere men kanskje framfor alt et supert sted å finne løsninger som andre har gjort på ting du selv trenger. Fram til nå har vi tre administratorene betalt hele kalaset ut av egen private lomme uten en eneste inntektskilde. Ingen reklame Ingen produktplassering Ingen rik eier eller firma i ryggen Ingen sponsorer Ingen ting Sånn kan det dessverre ikke fortsette i lengden! Men hva bør vi gjøre? Som vanlig ønsker vi å høre hva dere mener om den saken, så si deres mening under her. Som en foreløpig løsning har vi gjort klar en mulighet til å sponse oss, enten med et engangs beløp eller med et fast månedlig beløp: <- Klikk her for å se alternativene Det er klart at det er fint med et engangsbeløp om dere er ekstra begeistret over en artikkel eller en løsning på et problem som dere har lett lenge etter, men for oss ville det være enda finere å ha faste beløp som kom hver måned selv om de var små. Dette ville gjøre det mer forutsigbart for oss og enklere å legge planer for å øke kvaliteten. Logikken er at om alle 6000 medlemmene hadde betalt1 kr i måneden hadde vi hatt nok til både drift og til å betale noen for både moderering og innhold Vi har alle faste jobber ved siden av og har ikke tenke å bli rike på dette men bruke alle midlene på å gjøre forumet enda bedre ! Så kom igjen; kjør diskusjon og registrer dere som "sponsorer"! Vis full oppføring
  4. Vi får kjøre nattmodus til det er fikset da
  5. Det er greit. Da oppsummerer vi slik: Her på forumet diskuerer vi hjemmeautomasjon når det gjelder teknologi, løsninger og hvilke problemer vi forsøker å løse. Hvorfor det har blitt sånn, hvorfor disse problemene som må løses har oppstått og særlig hvem som eventuelt har skylda for at det har blitt sånn, diskuterer vi andre steder. Case Closed
  6. Ja jeg skjønner det men det er akkurat DEN diskusjonen jeg ber deg ta på FB eller et annet sted, og hjemmeautomasjon.no være stedet for diskusjon om løsninger.
  7. OK Men da fjerner jeg den ene posten som bare handler om politikk og styresmakter (og min sitering av den) Prøv å holde dere til Hjemmeautomasjon da og så får dere heller bruker FB til å diskutere politikere sog slikt OK?
  8. Hei gutter. Er ikke denne tråden LITT på siden av hva dette forumet er tiltenkt å omhandle? (Hjemmeautomasjon) Blir dere sure om jeg sletter hele denne tråden? Fermate (Admin)
  9. De fleste LED dimmere for 12/24V dimmer vel helst ved PWM og ikke ved å redusere spenningen. Men for en motor gjør det kanskje samme nytten? For å snu rettningen kan du kanskje bruke et relee?
  10. Han sa at han brukte 12V versjonen. Er det 5V du snakker om der? Kunne nok muligens gire den anderledes da? (Lage andre 3D tannhjul )
  11. Fermate

    Shelly

    Noen som har kikket på denne? WiFi og REST og MQTT og greier... https://www.vesternet.com/products/shelly-pro-2pm
  12. Jon Olav Neset på FB IOT forumet postet dette designet. Jeg må si at det virker som en bedre teknisk løsning enn min:
  13. Jeg har en del rullegardiner fra IKEA som er automatisert med Rollertol motorer. Her om dagen gikk en istykker og jeg hadde lite lyst til å bestille en ny fra USA. - Dyre er de også. Men jeg hadde nettop oppdaget hvor lett det er å designe og 3D printe tannhjul (Jeg bruker OnShape men regner med at Fusion 360 er like enkelt) så jeg tenkte at her var et fint byggeprosjekt. Jeg hadde kjøpt noen artige motorer fra Aliexpress for en stund siden som kunne passe til slikt bruk. https://www.aliexpress.com/item/32855724293.html Den jeg bruker her er 50RPM. Disse er giret kraftig ned med planet-gir og har rotasjons sensorer som gir 11 pulser / rotasjon. Dette gjør at de er mye sterkere enn en stepper motor men kan posisjoneres like nøyaktig ved å telle pulser. Fasongen inviterer til å plassere den i et klikk-on stativ som dette: (Slutt-versjonen måtte ha enda en klemme for å holde den helt fast) Tannhjulene ble laget for å kunne settes inn i enden av rullegardinen og et passende veggfeste ble printet: Siden det kun var et museklikk å lage tannhjulene heliske (skrå tenner) måtte jeg prøve dette. (Jeg hadde hørt at en gjorde slikt i girkasser for at de skulle lage mindre lyd) Dette ga meg to raske lærdommer: - Tannhjulene som skal gripe inn i hverandre må ha motsatt vinkling - Når de belastes vil de få en skyvekraft sidelengs Det siste bruker jeg nå aktivt for å forhindre at tannhjulet på motoren trekkes av akslingen når gardinen kjøres opp. Denne L298N motor-driveren tar 12V og er litt overdimensjonert men har også en 5V utgang som er fin å mate ESP32'en med. Jeg hadde bestemt meg for at jeg skulle ha 3 knapper: OPP, NED og SET I drift skulle knappene kjøre gardinen (helt) opp og (helt) ned og SET knappen skulle sette den i SETUP mode. I setup mode skulle knappene kjøre gardinen opp og ned så lenge de ble holdt inne. Først for å finne TOP posistion og så kvittere denne ved å trykke SET og deretter finne BUNN posisjonen og kvittere denne ved å trykke SET på nytt. En RGB LED skulle kommunisere hvilken modus du var i. Så var det bare å printe en passende boks, med skrue hull, for å putte hele greia inn i: Koblingen var sånn: For å unngå at jeg måtte sette oppigjen stopp posisjonene i topp og bunn dersom strømmen forsvant skrev jeg disse (=denne, top er uansett alltid 0) ned i Flash memory. Jeg bestemte derfor også at gardinen ikke skulle kunne stoppes halveis og kun var enten åpen eller lukket. Denne statusen (Oppe eller Nede) ble også skrevet til Flash. Flash tillater kun 100 000 skrivinger så om jeg kjører gardinen 3 ganger om dagen vil den kun holde i ca 100 år... Motor pulsene telles med et Interupt på pinne 25. Knappene bruker også en Interupt-timer for å slippe å håndtere rippel. For hver 100ms sjekker jeg om knappene er av eller på. Er de aktive teller jeg en teller OPP er de passive teller jeg en teller NED. Blir telleren 4 setter jeg knappen som AKTIV, blir den -4 setter jeg den som inaktiv. LED'en fikk kun en motstand felles (latskap) så den tåler ikke at mer enn en farge skrus på om gangen. Selve logikken er en tilstands maskin med disse tilstandene: SETUP_DEFINING_TOP, SETUP_DEFINING_BOTTOM, SETUP_STOP_SET_PRESSED_TOP, SETUP_STOP_SET_PRESSED_BOTTOM, MOVING, STOPPED_TOP, STOPPED_BOTTOM, STOP_SET_PRESSED I tillegg holdes det styr på rettning: MOVING_UP, MOVING_DOWN, STOPPED Da er det også enkelt å vite om pulsene som kommer fra motoren skal telles opp eller ned. Motoren har riktignok 2 sensorer som står i forskjellig vinkel på akslingen så det ville være mulig å måle avstanden mellom pulsene for å avgjøre rettning men dette er MYE lettere. MQTT biblioteket jeg fant var så enkelt å bruke at det nesten var latterlig. Jeg burde selvfølgelig rydde masse i koden og skrive pedagogiske kommentarer for å vise alle hva for en dreven og fantastisk programmerer jeg (egentlig) er men det gidder jeg ikke nå, sorry. Dere får heller spørre om dere lurer på noe. Jeg gadd heller ikke å lage noe fancy setup automatikk med oppstarts AP og Webside for å sette IP og velge SSID. (Post gjerne slik kode som jeg kan stjele til neste gang) Her er koden: #include <Preferences.h> #include <EspMQTTClient.h> Preferences preferanser; EspMQTTClient client( "SSID", "PWD", "192.168.232.8", // MQTT Broker server ip "", // MQTTUsername Can be omitted if not needed "", // MQTTPassword Can be omitted if not needed "rullegardinClient", // Client name that uniquely identify your device 1883 // The MQTT port, default to 1883. this line can be omitted ); // MQTT int receivedCommand=0; // 1=UP 2=Down 0=Executed // Motor int motorPin1 = 14; int motorPin2 = 12; int enablePin = 13; // Interupt portMUX_TYPE sync1 = portMUX_INITIALIZER_UNLOCKED; // External int IntPin1 = 25; // Timer hw_timer_t * timer = NULL; // Switches const int swPinUp = 23; const int swPinDown = 22; const int swPinStopSet = 21; volatile bool swUp = false; volatile bool swDown = false; volatile bool swStopSet = false; // LED const int RED = 5; const int BLUE = 18; const int GREEN = 19; // Modes enum stateType { SETUP_DEFINING_TOP, SETUP_DEFINING_BOTTOM, SETUP_STOP_SET_PRESSED_TOP, SETUP_STOP_SET_PRESSED_BOTTOM, MOVING, STOPPED_TOP, STOPPED_BOTTOM, STOP_SET_PRESSED, }; // Direction enum directionType { MOVING_UP, MOVING_DOWN, STOPPED }; //VARS volatile stateType state; volatile directionType movingDirection; volatile long stepCount=0; //0= På toppen volatile long stepMax=0; volatile int countUpSW =0; volatile int countDownSW = 0; volatile int countStopSetSW = 0; unsigned long lastTime=0; char lastPos; //------------- Interupt Routine Steps ----------------- void IRAM_ATTR isr_steps() { portENTER_CRITICAL(&sync1); if (movingDirection==MOVING_DOWN) { stepCount++; } else if (movingDirection==MOVING_UP) { stepCount--; } if (stepCount<0) stepCount=0 ; // cap on 0 portEXIT_CRITICAL(&sync1); } //------------- Interupt Routine Timer ----------------- void IRAM_ATTR isr_timer() { portENTER_CRITICAL(&sync1); if (digitalRead(swPinUp)==LOW) { countUpSW++; if (countUpSW > 4) { swUp = true; countUpSW=0; } } else { countUpSW--; if (countUpSW < -4) { swUp = false; countUpSW=0; } } if (digitalRead(swPinDown)==LOW) { countDownSW++; if (countDownSW > 4) { swDown = true; countDownSW=0; } } else { countDownSW--; if (countDownSW < -4) { swDown = false; countDownSW=0; } } if (digitalRead(swPinStopSet)==LOW) { countStopSetSW++; if (countStopSetSW > 4) { swStopSet = true; countStopSetSW=0; } } else { countStopSetSW--; if (countStopSetSW < -4) { swStopSet = false; countStopSetSW=0; } } portEXIT_CRITICAL(&sync1); } //************************* INIT ********************* void setup() { // LED pins pinMode(RED, OUTPUT); pinMode(GREEN, OUTPUT); pinMode(BLUE, OUTPUT); digitalWrite(RED, HIGH); preferanser.begin("Prefs",false); stepMax=preferanser.getLong("stepMax",-1); // -1= not init before if (stepMax==-1) { state=SETUP_DEFINING_TOP; } else { lastPos=preferanser.getChar("position",' '); if (lastPos=='T') { state=STOPPED_TOP; client.publish("rullegardin/position", "TOP"); } else if (lastPos=='B') { state=STOPPED_BOTTOM; client.publish("rullegardin/position", "BOTTOM"); } else { // error or default state=SETUP_DEFINING_TOP; } } // Motor pins pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(enablePin, OUTPUT); // init interupt pinMode(IntPin1, INPUT); attachInterrupt(IntPin1,&isr_steps,FALLING); // Interupt timer timer = timerBegin(0,240,true); // 240Mhz timerAttachInterrupt(timer,&isr_timer,true); timerAlarmWrite(timer, 100, true); // 100ms ? timerAlarmEnable(timer); // SW pinMode(swPinUp, INPUT_PULLUP); pinMode(swPinDown, INPUT_PULLUP); pinMode(swPinStopSet, INPUT_PULLUP); // Motor Enable digitalWrite(enablePin,HIGH ); // testing Serial.begin(9600); Serial.println("Testing DC Motor..."); client.enableDebuggingMessages(); client.enableLastWillMessage("rullegardin/lastwill", "I am going offline"); digitalWrite(RED, LOW); digitalWrite(GREEN, HIGH); digitalWrite(BLUE, LOW); } //*********************************** ROUTINES void move_down() { movingDirection=MOVING_DOWN; digitalWrite(motorPin1,HIGH); digitalWrite(motorPin2,LOW); } void move_up() { movingDirection=MOVING_UP; digitalWrite(motorPin1,LOW); digitalWrite(motorPin2,HIGH); } void stop_moving() { movingDirection=STOPPED; digitalWrite(motorPin1,LOW); digitalWrite(motorPin2,LOW); } void update_leds() { // LED if (state==SETUP_DEFINING_TOP){ digitalWrite(RED, LOW); digitalWrite(GREEN, HIGH); digitalWrite(BLUE, LOW); } if (state==SETUP_DEFINING_BOTTOM){ digitalWrite(RED, LOW); digitalWrite(GREEN, LOW); digitalWrite(BLUE, HIGH); } else { digitalWrite(RED, LOW); digitalWrite(GREEN, LOW); digitalWrite(BLUE, LOW); } } // ************************ LOOP *********************** void loop() { // MQTT client.loop(); // Debug if (millis()-lastTime>200) { Serial.print("State:"); Serial.print(state); Serial.print(" moving:"); Serial.print(movingDirection); Serial.print(" Cnt:"); Serial.print(stepCount); Serial.print(" Max:"); Serial.print(stepMax); Serial.print(" UP:"); Serial.print(swUp); Serial.print(" Dwn:"); Serial.print(swDown); Serial.print(" StopSet:"); Serial.print(swStopSet); Serial.println(""); lastTime=millis(); } update_leds(); // Final state machine // SETUP if (state==SETUP_DEFINING_TOP) { // -------------- if ((movingDirection==STOPPED) && swStopSet) { // Set top pos stepCount=0; state=SETUP_STOP_SET_PRESSED_TOP; } else if (swUp) { move_up(); } else if (swDown) { move_down(); } else { // no buttons pressed stop_moving(); } } else if (state==SETUP_DEFINING_BOTTOM) { // -------------- if ((movingDirection==STOPPED) && swStopSet) { // Set bottom pos stepMax=stepCount; preferanser.putLong("stepMax",stepMax); //save for next boot Serial.println("Saving stepMax"); state=SETUP_STOP_SET_PRESSED_BOTTOM; } else if (swUp) { move_up(); } else if (swDown) { move_down(); } else { // no buttons pressed stop_moving(); } } else if (state==SETUP_STOP_SET_PRESSED_TOP) { // -------------- if (!swStopSet) { // released state=SETUP_DEFINING_BOTTOM; } } else if (state==SETUP_STOP_SET_PRESSED_BOTTOM) { // -------------- if (!swStopSet) { // released move_up(); state=MOVING; } // NOT SETUP } else if (state==MOVING) { // -------------- if (swStopSet) { stop_moving(); state=SETUP_DEFINING_TOP; } else if (swUp) { move_up(); state=MOVING; } else if (swDown) { move_down(); state=MOVING; } // Ende stop? if (stepCount<=0 && movingDirection==MOVING_UP) { stop_moving(); preferanser.putChar("position",'T'); Serial.println("Saving Position = T"); state=STOPPED_TOP; client.publish("rullegardin/position", "TOP"); } else if (stepCount>stepMax && movingDirection==MOVING_DOWN) { stop_moving(); preferanser.putChar("position",'B'); Serial.println("Saving Position = B"); state=STOPPED_BOTTOM; client.publish("rullegardin/position", "BOTTOM"); } } else if (state==STOPPED_TOP) { // -------------- if (swDown) { move_down(); state=MOVING; } else if (swStopSet) { state=STOP_SET_PRESSED; } else if (receivedCommand==2) { move_down(); state=MOVING; receivedCommand=0; } } else if (state==STOPPED_BOTTOM) { // -------------- if (swStopSet) { state=STOP_SET_PRESSED; } else if (swUp) { move_up(); state=MOVING; } else if (receivedCommand==1) { move_up(); state=MOVING; receivedCommand=0; } } else if (state==STOP_SET_PRESSED) { // -------------- if (!swStopSet) { // release button state=SETUP_DEFINING_TOP; } } else { Serial.println("ERROR Unknown state"); } } void onConnectionEstablished() { // Subscribe to "mytopic/test" and display received message to Serial client.subscribe("rullegardin/command", [](const String & payload) { Serial.println(payload); receivedCommand=payload.toInt(); }); /* // Subscribe to "mytopic/wildcardtest/#" and display received message to Serial client.subscribe("mytopic/wildcardtest/#", [](const String & topic, const String & payload) { Serial.println("(From wildcard) topic: " + topic + ", payload: " + payload); }); */ // Publish a message to "mytopic/test" client.publish("rullegardin/position", "startUp"); // You can activate the retain flag by setting the third parameter to true /* // Execute delayed instructions client.executeDelayed(5 * 1000, []() { client.publish("mytopic/wildcardtest/test123", "This is a message sent 5 seconds later"); }); */ }
  14. Det er lenge siden jeg har postet noe byggeprosjekt nå. Men her er ett lite ett for de som ikke vil bruke IKEA sin løsning men lage noe selv. Kanskje det også kan inspirere til andre motoriserte løsninger. Det er jo mest gøy når ting rører på seg, ikke bare skrur av og på ting
  15. @erlendkarlsen Ja jeg har litt peil på freser (har flere og har bygget (om) noen). Finn opp så lite krutt her som mulig: Bruk stepper-motorer og kast den vinduspussermotoren. Variabel frekevns styring er kun aktuellt til selve fresen. Glem det foreløpig og bruk den håndoverfresen dere har foreløpig. (Men om dere ikke har skaffet den ennå så kjøp heller en som er vanlig å bruke til CNC montering (DeWalt eller Makita)) Bruk kuleskruer eller "tannhjuls bånd" til å bevege aksene. Helt greit å vente litt med Z aksen. Til steppermotorene får du ferdige drivere og kontrollerkort. Velg kontrollerkort utfra hvilken software dere skal kjøre fresen med. JEG ville valgt Mach3/Mach4 i stedet for GRBL og derfor IKKE valgt Arduino eller R-PI (men det er nok mest fordi jeg kjenner Mach og vet hvordan den settes opp) Et kit som dette vil starte dere bra: https://www.aliexpress.com/item/4000556919180.html her er alt dere trenger av det elektriske. Så må dere ha det mekaniske med kuleskruene eller tannreimene. Men det er jo faget deres, -mekanikk Stiller gjerne opp med tips og råd. Ring eller mail meg. 91142883 / [email protected] Hmm når jeg ser på tegningen deres ser det ut til at dere allerede har kontroll på det mekaniske i aksebevegelsene? Er det tannstenger jeg ser der?
  16. haha "Alexa go to x 23 and y 56, start the spindle and lower it by 6"
  17. Hva er behovet du ønsker å løse? -fuktighet? -temperatur? -friskluft? -loft/kjeller? -soverom? -kjøkken? -bad? -stue? Disse har alle litt forskjellige utfordringer
  18. Jeg har effektivisert det der ved å slå sammen vaskerommet og garderoben til samme rom som en walk-in løsning, så forsvant den arbeids operasjonen der
  19. Hehe Som du sier er det såpass tidskrevende at det nok da vil bli for dyrt Men HVA av dette er det du ikke fikser selv? (Kanskje jeg bare trenger å bidra med noe av det?)
  20. Noen som sender mail fra HS4? Jeg får konsekvent denne feilen uansett hva jeg skriver som mail adresse:
  21. Nå tok en av Rollertol'ene kvelden Noe som har en 18mm 12V 433MHz slik liggende? Som kunne tenke seg å selge den? Kan ikke se at de selger den modellen lengre? Eller 18mm i det heletatt?
  22. Stilig! Før du maler den helt med gull; prøv med en nesten tørr pensel og bare legg på litt litt "her og der"
  23. Hva er det for en Device du har der? En pad? Stor det "Lenovo" på den?
  24. https://support.google.com/maps/answer/18539 Finn koordinatene til et sted Åpne Google Maps på datamaskinen. Høyreklikk på det aktuelle stedet eller området på kartet. Velg breddegrad og lengdegrad. Da kopieres koordinatene automatisk.
  25. Takk for kode! #1 Ser du velger å "gå i frø" om MQTT ikke starter, er det noen grunn til at du ikke gjør noe RETRY på det? #2 Hvilken MQTT plugin til HS4 er det du viser der?
×
×
  • 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.