- Liittynyt
- 20.03.2024
- Viestejä
- 627
-15.3.2026-
* Päivitetty postausta. Lisättu toiminnallisuuksia, kuten akun varauksen kysely.
-23.2.2026-
* Päivitetty Arduinon koodi täydelliseksi
-29.12.2024-
* Tehty viimeiset asennukset.
* Homma maalissa
-18.12.2024-
* Päivitetty Arduinon koodi.
-16.12.2024-
* Lisätty uusi kuva, jossa kaikki juotettuna.
* Lisätty Arduinon koodi.
Rakentelenpa tälläisen helpon modin vastalauseena volkkarin kalliille We Connect vuositilaukselle. Itsellä ainoa tarve tuosta tilauksesta on juurikin weban kaukokäynnistys, eikä muuta. GSM-ohjaukseen on vaikka mitä ratkaisuja ja halvimmillaan GSM-vastaanottimeksi käy (toistaiseksi) GPRS-vastaanotin. Näitä saa AliExpressistä postikuluineen alle kympillä. Jos haluaa tehdä tuon 4G-versiolla, niin hinta nouseen noin kolmeen kymppiin.
Kasasin vastaanottimen Arduinon Uno R.3 boardista, johon päälle tulee SIMCOM900 GSM-moduli ja kaiken päälle vielä "suojaksi" Shield V.5 protoboardi.
Arduinon jänniteregulaattori on speksattu max 12 V, joten se tarvitsee toisen regulaattorin/muuntajan syöttöön.
Laitoin 5 V regulaattorin syöttöön, mikä kestää max 35 V. Se toki lämpenee hieman esim. 15 voltilla.
Lisäsin myös jännitteenjakan, joka skaalaa auton 0-20 V Arduinolle sopivaksi 0-5 V. Tähän tarkoitukseen käytin 30 kOhm ja 10 kOhm vastuksia, jotka skaalaa jännitteen 25 % Ardunon ADC muuntimelle. Jouduin tosin kalibroimaan yleismittarin kanssa pienen kertoimen vielä muunnokseen, saadakseni jännitteen tarkaksi. Kun laitteelle lähettää käynnistyskäsky tai tarkistuskäskyn, se lähettää takaisin tekstarilla myös akun varauksen.
Suosittelen käyttämään ja muokkaamaan haluamaksesi omakyhäämääni koodia. Vaihda/lisää vain sallitut puhelinnumerot. Alla löytyy myös teknologiaselostus tästä projektista englanniksi.

Koko viritelmä näyttää tältä:


Juotin kaikki johtimet kiinni, myös Arduinon päällä olevaan 5 V releeseen. Pitää laittaa koko viritys vielä johonkin pakasterasiaan, johon tulee tuo liitin. Kytkentä on yksinkertainen: punainen 12 V, musta 0 V ja sininen Telestartin pinni 4.
STH Telestartin boksi löytyy farkku-Passattista takakontin oikealta laidalta huoltoluukun päältä [numero 4]:

Jotta piuhoja ei tarvitse pilkkoa pitää hakea volkkarilta siniset 6-pin liittimet (uros ja naaras)


ja näihin johtimet väliin. Eli homma alkaa adapteripiuhan valmistamisella


Adapteri itsessään ryöstää käyttöjännitteen ja 0 V Arduinolle, joten mitään muita johdotuksia ei tarvita. Arduino kirjaimellisesti liitetään adapterilla (Y-kaapeli) STH-telestartin väliin ja se on siinä.
EDIT: itse en tehnyt adapteripiuhaa sittenkään, koska liikaa vaivaa. Telestarttiin on helppo liittää vain tuo yksi johdin ja laitteelle saa virran suoraan akusta.
Kiitos @M_M selvennöksestä:

Tekoälyn typerännäköinen piirros, kun en itse jaksanut alkaa raapustamaan.

Kontin oikean puolen ”huoltoreikä”, jossa telestart majailee.

Sieltä sai todella helposti irroitettua telestartin liittimen

Liittimessä on tosiaan kolme piuhaa. Otetaan liitin auki

Lisätään pinniin 4 käynnistyssignaalipiuha (+12 V pulssi)

Koko komeus suljettuna pakasterasiaan ja varotoimina yön yli auton ulkopuolella :grin:


Mutta hyvin toimii! Pakasterasian ilmanvaihto on ilmeisen riittävä reikien teon jälkeen.Autossa ei vikakoodeja virran syömisestä yön yli.
Antaa sittenkin vikakoodin:

Case closed.
* Päivitetty postausta. Lisättu toiminnallisuuksia, kuten akun varauksen kysely.
-23.2.2026-
* Päivitetty Arduinon koodi täydelliseksi
-29.12.2024-
* Tehty viimeiset asennukset.
* Homma maalissa
-18.12.2024-
* Päivitetty Arduinon koodi.
-16.12.2024-
* Lisätty uusi kuva, jossa kaikki juotettuna.
* Lisätty Arduinon koodi.
Rakentelenpa tälläisen helpon modin vastalauseena volkkarin kalliille We Connect vuositilaukselle. Itsellä ainoa tarve tuosta tilauksesta on juurikin weban kaukokäynnistys, eikä muuta. GSM-ohjaukseen on vaikka mitä ratkaisuja ja halvimmillaan GSM-vastaanottimeksi käy (toistaiseksi) GPRS-vastaanotin. Näitä saa AliExpressistä postikuluineen alle kympillä. Jos haluaa tehdä tuon 4G-versiolla, niin hinta nouseen noin kolmeen kymppiin.
Kasasin vastaanottimen Arduinon Uno R.3 boardista, johon päälle tulee SIMCOM900 GSM-moduli ja kaiken päälle vielä "suojaksi" Shield V.5 protoboardi.
Arduinon jänniteregulaattori on speksattu max 12 V, joten se tarvitsee toisen regulaattorin/muuntajan syöttöön.
Laitoin 5 V regulaattorin syöttöön, mikä kestää max 35 V. Se toki lämpenee hieman esim. 15 voltilla.
Lisäsin myös jännitteenjakan, joka skaalaa auton 0-20 V Arduinolle sopivaksi 0-5 V. Tähän tarkoitukseen käytin 30 kOhm ja 10 kOhm vastuksia, jotka skaalaa jännitteen 25 % Ardunon ADC muuntimelle. Jouduin tosin kalibroimaan yleismittarin kanssa pienen kertoimen vielä muunnokseen, saadakseni jännitteen tarkaksi. Kun laitteelle lähettää käynnistyskäsky tai tarkistuskäskyn, se lähettää takaisin tekstarilla myös akun varauksen.
Suosittelen käyttämään ja muokkaamaan haluamaksesi omakyhäämääni koodia. Vaihda/lisää vain sallitut puhelinnumerot. Alla löytyy myös teknologiaselostus tästä projektista englanniksi.
Webasto Control (Arduino + GSM)
Arduino firmware for controlling a Webasto heater via SMS using a GSM modem, intended for vehicle/remote-heating use.
Table of contents
- What's in this repository
- Hardware requirements
- Pin assignments
- Wiring / connections
- GSM setup (SIM / network)
- Supported SMS commands
- SMS responses
- Automatic alerts
- Configuration
- State machine
- AT command reference (useful for debugging)
- Build & upload
- Troubleshooting
Hardware requirements
Core components
- Arduino Uno / Nano (AVR-based, 5V logic)
- GSM modem with UART and AT command support (e.g. SIM800L / SIM900)
- Relay module (active-LOW; the sketch drives the relay with a
LOWsignal by default)- Battery voltage divider — resistor network scaling vehicle voltage (0–20 V) to 0–5 V on pin A5
- Power supply for GSM module — dedicated regulator capable of ~4.0 V, 2 A peak (SIM800L)
Recommended additional components
- Logic-level converter for GSM UART (3.3 V ↔ 5 V)
- External antenna for GSM module
- Proper fuse(s) and automotive-rated wiring
Pin assignments
The following pins are defined inwebasto_source.ino:
Signal Arduino pin Direction Notes GSM module TX (SoftwareSerial RX) D7 Input SoftwareSerial SIM(7, 8)GSM module RX (SoftwareSerial TX) D8 Output SoftwareSerial SIM(7, 8)Relay control D5 Output RELAY_PIN 5; defaults to HIGH = relay ONModem power key D9 Output MODEM_PWR_PIN 9; pulled HIGH normally, pulse LOW 1.2 s to toggleBattery voltage (ADC) A5 Analog input BATTERY_PIN A5; 0–5 V maps to 0–20 V after correction factorRelay polarity: Most Chinese relay boards trigger on LOW. The sketch defaults toRELAY_ON HIGH/RELAY_OFF LOW. If your relay does not operate, swap these two defines in the sketch.Wiring / connections
GSM module ↔ Arduino
GSM module pin Arduino pin TXD D7 (SoftwareSerial RX) RXD D8 (SoftwareSerial TX) GND GND PWR KEY D9 (via NPN transistor or direct if 5V tolerant)
- GSM baud rate: 9600
- SoftwareSerial RX buffer is extended to 256 bytes (
_SS_MAX_RX_BUFF 256)- Many GSM modules use 2.8 V / 3.3 V UART — use a level shifter between Arduino D8 and GSM RXD
Relay module ↔ Arduino
Relay board pin Arduino pin IN D5 VCC 5V GND GND
- Relay COM/NO switches the Webasto heater control/start input
- The relay activates for 800 ms (
RELAY_PULSE_MS) and then deactivates automaticallyBattery voltage sensing
- Connect the tap of a resistor voltage divider (scaling 0–20 V vehicle voltage to 0–5 V) to A5
- The sketch applies a calibration factor
VOLTAGE_CORRECTION = 0.7648derived from real measurementsPower
- Do not power the GSM module from the Arduino 5V pin
- Use a dedicated regulator/buck converter for the GSM module (SIM800L: ~4.0 V, 2 A peak)
GSM setup (SIM / network)
- Insert a SIM card with:
- active subscription
- SMS enabled
- PIN disabled (the sketch does not handle PIN entry)
- Attach an external antenna.
- Power the GSM module with a stable dedicated supply.
- The sketch initialises the modem with the following AT commands on every boot:
ATE0— echo offAT+CMGF=1— SMS text modeAT+CMEE=1— verbose error codesAT+CNMI=2,2,0,0,0— forward new SMS directly to serial (no storage needed)AT+CREG=1— enable network registration URCSupported SMS commands
Only messages from authorised numbers (configured inallowedNumbers[]) are processed. All other messages are silently ignored.
Commands are case-insensitive (the sketch converts to upper-case before comparison).
SMS text Action STARTActivates relay for 800 ms to start the Webasto heater STOPDeactivates relay (stops the heater if currently running) STATUSReturns battery voltage and charge status; no relay change SMS responses
Battery is reported as "alhainen" (low) when voltage drops below
Trigger Response text START(heater not already running)Webasto paalla, akun jannite X.X V. Akun varaus OKor…alhainenSTOP(heater running)Webasto poisSTATUSAkun jannite X.X V. Akun varaus OKor…alhainenAutomatic low-battery alert Auton akun varaustila alhainen: Jannite on X.X VBATTERY_LOW_THRESHOLD = 12.0 V.
Automatic alerts
The sketch monitors battery voltage every 60 seconds while in theREADYstate and automatically sends an SMS to all authorised numbers when the voltage drops belowBATTERY_ALERT_THRESHOLD(default 11.5 V).
- The alert message text is:
Auton akun varaustila alhainen: Jannite on X.X V- The alert is sent once per low-voltage event. If the voltage recovers above the threshold, the flag is reset so that the alert will fire again if the voltage drops a second time.
- The check only runs when no incoming SMS is being collected, to avoid interfering with serial communication.
Configuration
Openwebasto_source.inoand adjust the following constants:
Constant Default Description allowedNumbers[]two placeholder numbers Phone whitelist — replace with your own numbers ALLOWED_COUNTauto Derived from array size; do not change manually RELAY_PIN5Arduino pin connected to relay IN MODEM_PWR_PIN9Arduino pin connected to modem power key BATTERY_PINA5Analog pin for battery voltage divider RELAY_ON/RELAY_OFFHIGH/LOWRelay polarity — swap if relay is inverted RELAY_PULSE_MS800msDuration of relay activation pulse BATTERY_LOW_THRESHOLD12.0VVoltage below which battery is flagged as low in SMS responses BATTERY_ALERT_THRESHOLD11.5VVoltage below which an automatic SMS alert is sent to all authorised numbers BATTERY_CHECK_INTERVAL60 000msHow often battery voltage is checked for the automatic alert VOLTAGE_CORRECTION0.7648ADC calibration factor for battery voltage reading NETWORK_CHECK_INTERVAL60 000msHow often to verify network registration MODEM_INIT_TIMEOUT60 000msTime allowed for modem init before power cycling NETWORK_LOST_TIMEOUT120 000msTime without network before modem reboot DAILY_RESET_INTERVAL24 h Automatic daily modem power cycle State machine
The sketch runs a non-blocking state machine:
Koodi:MODEM_BOOT (15 s wait) │ ▼ MODEM_INIT ──(timeout / error)──► power cycle → MODEM_BOOT │ (AT init OK) ▼ NETWORK_WAIT ──(timeout)──► power cycle → MODEM_BOOT │ (registered) ▼ READY ◄────── NETWORK_LOST ──(timeout)──► power cycle → MODEM_BOOT │ (network lost) ▲ └───────────────────┘ (network regained)
- Watchdog timer (
WDTO_8S) resets the MCU if the sketch hangs for more than 8 seconds.- A daily automatic reboot of the modem occurs every 24 hours (only when relay is inactive).
AT command reference (useful for debugging)
You can test AT commands using a USB-to-Serial adapter directly to the GSM module.
Basic communication
AT→ should replyOKATI→ modem identificationAT+CSQ→ signal qualityAT+CREG?→ network registration status (1or5= registered)AT+COPS?→ current operatorSIM / PIN
AT+CPIN?→ SIM PIN status (must beREADY)SMS configuration
AT+CMGF=1— set SMS text modeAT+CNMI=2,2,0,0,0— route incoming SMS directly to serialSend SMS (manual test)
AT+CMGS="+358..."
- type message text
- finish with Ctrl+Z (ASCII 26)
Build & upload
Required libraries
- SoftwareSerial — included with Arduino IDE (built-in)
- avr/wdt.h — watchdog timer (built-in AVR library, no installation needed)
Arduino IDE
- Open
webasto_source.inoin Arduino IDE.- Select Tools → Board (Uno or Nano) and Tools → Port.
- Upload.
Troubleshooting
- Random resets / modem not responding: power supply to GSM module is insufficient — use a dedicated 4 V / 2 A supply.
- No network registration: check antenna, SIM PIN disabled, and local coverage.
- SMS not received: verify
AT+CNMI=2,2,0,0,0is active; check operator SMS support.- Heater does not start: verify relay wiring (pin D5) and
RELAY_ON/RELAY_OFFpolarity.- Battery voltage reads incorrectly: adjust
VOLTAGE_CORRECTIONconstant based on measured calibration values.

Koko viritelmä näyttää tältä:


Juotin kaikki johtimet kiinni, myös Arduinon päällä olevaan 5 V releeseen. Pitää laittaa koko viritys vielä johonkin pakasterasiaan, johon tulee tuo liitin. Kytkentä on yksinkertainen: punainen 12 V, musta 0 V ja sininen Telestartin pinni 4.
STH Telestartin boksi löytyy farkku-Passattista takakontin oikealta laidalta huoltoluukun päältä [numero 4]:

Jotta piuhoja ei tarvitse pilkkoa pitää hakea volkkarilta siniset 6-pin liittimet (uros ja naaras)


ja näihin johtimet väliin. Eli homma alkaa adapteripiuhan valmistamisella


Adapteri itsessään ryöstää käyttöjännitteen ja 0 V Arduinolle, joten mitään muita johdotuksia ei tarvita. Arduino kirjaimellisesti liitetään adapterilla (Y-kaapeli) STH-telestartin väliin ja se on siinä.
EDIT: itse en tehnyt adapteripiuhaa sittenkään, koska liikaa vaivaa. Telestarttiin on helppo liittää vain tuo yksi johdin ja laitteelle saa virran suoraan akusta.
Kiitos @M_M selvennöksestä:
Telestartin pinni 4 käynnistää 12 V pulssilla weban ja pinni 3 pysyy 12 V niin kauan kuin weba on päällä.

Tekoälyn typerännäköinen piirros, kun en itse jaksanut alkaa raapustamaan.

Kontin oikean puolen ”huoltoreikä”, jossa telestart majailee.

Sieltä sai todella helposti irroitettua telestartin liittimen

Liittimessä on tosiaan kolme piuhaa. Otetaan liitin auki

Lisätään pinniin 4 käynnistyssignaalipiuha (+12 V pulssi)

Koko komeus suljettuna pakasterasiaan ja varotoimina yön yli auton ulkopuolella :grin:


Mutta hyvin toimii! Pakasterasian ilmanvaihto on ilmeisen riittävä reikien teon jälkeen.
Antaa sittenkin vikakoodin:
No, pitää seurata mikä meno ja haittaneeko tuoStatic current too hgh

Case closed.

Viimeksi muokattu:
:
: