Giter VIP home page Giter VIP logo

jarolift_mqtt's Introduction

Jarolift_MQTT

Controlling Jarolift(TM) TDEF 433MHz radio shutters via ESP8266 and CC1101 Transceiver Module in asynchronous mode. Experimental version. Use at your own risk. For private/educational use only. (Keeloq algorithm licensed only to TI Microcontrollers) This project is not affiliated in any way with the vendor of the Jarolift components. Jarolift is a Trademark of Schöneberger Rolladenfabrik GmbH & Co. KG

This is the MQTT version of Jarolift_RX_TX_FHEM, which was originally developed to operate with the FHEM home automation server. You find the original FHEM version on the project's homepage.

Author

Written by Steffen Hille in Nov, 2017

Project Homepage and Forum

The project home is here: Project Home If you need support please use the forum Project Forum

License

The main code of Jarolift_MQTT is licensed under the GPLv3. The provided libraries have different licenses, look into the respective files for more information.

  • CC1101 library LGPL-License
  • DoubleResetDetector MIT License
  • Keeloq library unknown License
  • PubSubClient MIT License
  • simpleDSTadjust unknown License

Necessary Hardware:

  • a NodeMCU board or similar, based on ESP8266 microcontroller
  • a CC1101 Transmitter board
  • some connection cables

Photos and hints on project home website

Prepare Arduino IDE and libraries

Download an install the Arduino IDE from Arduino website (as time of writing the current version is 1.8.5)

Locate your arduino sketch directory - this is $HOME/Arduino/ in linux

Download and / or unpack this project folder to a subfolder of this sketch directory

Locate the user library folder of your arduino sketch directory

Default under linux: $HOME/Arduino/libraries/

  • copy the folder DoubleResetDetector to the arduino library folder
  • copy the folder PubSubClient to the arduino library folder
  • copy the folder KeeloqLib to the arduino library folder
  • copy the folder simpleDSTadjust to the arduino library folder

when updating from earlier Jarolift_MQTT releases

  • in earlier releases, the folder PubSubClient-2.6.09 was delivered. Make sure you remove PubSubClient-2.6.09 from the library folder and put the current PubSubClient folder there!

Compile

Open the Arduino IDE and open the project .ino file (Jarolift_MQTT.ino) TODO write a more detailed description

Check the board settings

In menu "Tools" set the correct board type. If you have any kind of NodeMCU, the board NodeMCU 1.0 (ESP-12E Module will probably work.

You may look at the wiki for pictures of the modules or at this comparison of boards.

There are two possible pitfalls when choosing the wrong board type or changing between board types:

  • the LED on the board may work / not work - necessary for the LED heardbeat and Admin-Mode.
  • take a look at the flash size and the SPIFFS setting - a changed SPIFFS setting needs a new upload of the SPIFFS data files and an existing configuration may be not be found on next boot, then it is initialized with default values.

Note on the LED on the board:

The following settings have proofed to work:

ESP Core 2.4.1 / NodeMCU v1.0/V2
  • Board: "NodeMCU 1.0 (ESP-12E Module)"
  • Flash Size: "4M (1M SPIFFS)"
  • lwIP variant: "v2 Lower Memory"
  • CPU Frequency: "80 MHz"
  • Upload speed: "115200"
ESP Core 2.4.1 / NodeMCU v3 and WeMos mini & its clones
  • Board: "WeMos mini D1 R2 & mini"
  • Flash Size: "4M (1M SPIFFS)"
  • lwIP variant: "v2 Lower Memory"
  • CPU Frequency: "80 MHz"
  • Upload speed: "115200"

Dont forget to set the correct serial port (Tools->Port) after plugging the USB connector of the NodeMCU into the computer.

Upload the compiled sketch into the NodeMCU. Second, you need to upload the files from the data directory into the SPIFFS area. This is only necessary on first use of the NodeMCU and then only after the content of the files has changed.

Uploading files to SPIFFS (ESP8266 internal filesystem)

ESP8266FS is a tool which integrates into the Arduino IDE. It adds a menu item to Tools menu for uploading the contents of sketch data directory into ESP8266 flash file system.

  • Download the SPIFFS tool
  • In your Arduino sketchbook directory, create tools directory if it doesn't exist yet
  • Unpack the tool into tools directory (the path will look like $HOME/Arduino/tools/ESP8266FS/tool/esp8266fs.jar)
  • Restart Arduino IDE
  • Open the Jarolift_MQTT sketch
  • Make sure you have selected a board, port, and closed Serial Monitor
  • Select Tools > ESP8266 Sketch Data Upload. This should start uploading the files into ESP8266 flash file system. When done, IDE status bar will display SPIFFS Image Uploaded message.

Cabling instructions

ESP CC1101 Remark
D8 CSN
D2 GDO0 (perhaps 1Kohm to GND)
D1 GDO2
D6 SO(GDO1)
D5 SCLK
D7 SI
GND GND
VCC VCC 3.3 Volt !!!

Setup instructions

The configuration of the Jarolift Dongle is stored in the EEPROM memory of the ESP8266. On first initialisation, when no configuration is found, it is initialized with some default values and the Dongle turns on the Admin-Mode.

In Admin-Mode, the blue LED on the ESP submodule is turned on and the Dongle creates an WLAN-Access-Point with the SSID Jarolift-Dongle, protectet with the WPA-Passwort 12345678. Now you have 180 seconds (3 minutes) time to connect to the WLAN Accesspoint and visit the configuration webserver on

http://192.168.4.1

Admin-Mode quits after the 180 second timeout or when you restart the Dongle from the configuration webserver.

If you need the Admin-Mode later, just press the "Reset" button on the NodeMCU module two times within 10 seconds. This double-reset will be detected and the Dongle enters Admin-Mode again, showing this with the blue LED turned on.

The running Jarolift Dongle does some debug output on the serial console. Console Speed is 115200 Bit/s

Known issues

  • after flashing the NodeMCU board, on the first run of the fresh flashed sketch, any kind of restart (through WebUI or after a crash) of the ESP8266 may not properly work, causes the NodeMCU board board to hang. On the serial monitor, you see output like
handleFileRead: /favicon.png
 [INFO] - Writing Config to EEPROM

 ets Jan  8 2013,rst cause:2, boot mode:(1,6)


 ets Jan  8 2013,rst cause:4, boot mode:(1,6)

wdt reset
  • this is a hardware issue, solution: power cycle your NodeMCU after flashing, pressing the reset button is not sufficient

  • sometimes opening the "system" page in the WebUI causes a crash (Exception 28) of the ESP8266. The cause is not found yet.

Contribute

You can contribute to Jarolift_MQTT by

  • providing Pull Requests (Features, Proof of Concepts, Language files or Fixes)
  • testing new released features and report issues
  • please try to follow the Style-Guide another Style-Guide

jarolift_mqtt's People

Contributors

agvxov avatar bismosa avatar delphin0850 avatar juppit avatar madmartin avatar meier81 avatar mvn23 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jarolift_mqtt's Issues

radio_tx Funktion nutzt nicht die SPI Funktionen

Hallo,

ich lese gerade durch den Code, und frage mich warum die CC1101::sendData(CCPACKET packet) Funktion, welche die Arduino SPI lib nutzt, nicht verwendet wird? Stattdessen wurde das Bitencoding neu implementiert. Zumindest aber wurde in der Jarolift_MQTT.ino der Header SPI.h inkludiert, aber dann scheinbar nicht mehr benutzt?

Danke schon mal und Viele Grüße
H.

Reboot command

Hi can you tell me the reboot command ? /system.html ???

I need it for home assistant to restatt the jaro dongle.... After 5 days jaro doesnt work and i will send an reboot all 48h ...

Regards

Failed to compile

Hi,

I got stuck by compiling the files.

Arduino is saying:

Jarolift_MQTT:48:26: fatal error: PubSubClient.h: No such file or directory

#include <PubSubClient.h>

                      ^

compilation terminated.


The Folder "PubSubClient" is there and PubSubClient.h is located in subfolder PubSubClient/src.

Can you help, please?

i am using Arduino 1.8.12 and NodeMCU V3


Complete log shows

Arduino: 1.8.12 (Windows Store 1.8.33.0) (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware -hardware C:\Users\andreas\Documents\ArduinoData\packages -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -tools C:\Users\andreas\Documents\ArduinoData\packages -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\andreas\Documents\Arduino\libraries -fqbn=esp8266:esp8266:nodemcuv2:xtal=80,vt=flash,exception=legacy,ssl=all,eesz=4M2M,led=2,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=115200 -vid-pid=1A86_7523 -ide-version=10812 -build-path C:\Users\andreas\AppData\Local\Temp\arduino_build_484960 -warnings=none -build-cache C:\Users\andreas\AppData\Local\Temp\arduino_cache_670317 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.python3.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\python3\3.7.2-post1 -prefs=runtime.tools.python3-3.7.2-post1.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\python3\3.7.2-post1 -prefs=runtime.tools.mkspiffs.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\mkspiffs\2.5.0-4-b40a506 -prefs=runtime.tools.mkspiffs-2.5.0-4-b40a506.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\mkspiffs\2.5.0-4-b40a506 -prefs=runtime.tools.mklittlefs.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\mklittlefs\2.5.0-4-fe5bb56 -prefs=runtime.tools.mklittlefs-2.5.0-4-fe5bb56.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\mklittlefs\2.5.0-4-fe5bb56 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506 -prefs=runtime.tools.xtensa-lx106-elf-gcc-2.5.0-4-b40a506.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506 -verbose D:\Depot\Jarolift\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\arduino-builder -compile -logger=machine -hardware C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware -hardware C:\Users\andreas\Documents\ArduinoData\packages -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\tools-builder -tools C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\hardware\tools\avr -tools C:\Users\andreas\Documents\ArduinoData\packages -built-in-libraries C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.33.0_x86__mdqgnx93n4wtt\libraries -libraries C:\Users\andreas\Documents\Arduino\libraries -fqbn=esp8266:esp8266:nodemcuv2:xtal=80,vt=flash,exception=legacy,ssl=all,eesz=4M2M,led=2,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=115200 -vid-pid=1A86_7523 -ide-version=10812 -build-path C:\Users\andreas\AppData\Local\Temp\arduino_build_484960 -warnings=none -build-cache C:\Users\andreas\AppData\Local\Temp\arduino_cache_670317 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.python3.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\python3\3.7.2-post1 -prefs=runtime.tools.python3-3.7.2-post1.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\python3\3.7.2-post1 -prefs=runtime.tools.mkspiffs.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\mkspiffs\2.5.0-4-b40a506 -prefs=runtime.tools.mkspiffs-2.5.0-4-b40a506.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\mkspiffs\2.5.0-4-b40a506 -prefs=runtime.tools.mklittlefs.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\mklittlefs\2.5.0-4-fe5bb56 -prefs=runtime.tools.mklittlefs-2.5.0-4-fe5bb56.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\mklittlefs\2.5.0-4-fe5bb56 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506 -prefs=runtime.tools.xtensa-lx106-elf-gcc-2.5.0-4-b40a506.path=C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506 -verbose D:\Depot\Jarolift\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino
Using board 'nodemcuv2' from platform in folder: C:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0
Using core 'esp8266' from platform in folder: C:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0
Detecting libraries used...
"C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/include" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/lwip2/include" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\Users\andreas\AppData\Local\Temp\arduino_build_484960/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++11 -ffunction-sections -fdata-sections -fno-exceptions -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10812 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD="ESP8266_NODEMCU"" -DLED_BUILTIN=2 -DFLASHMODE_DIO -DESP8266 "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\cores\esp8266" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\variants\nodemcu" "C:\Users\andreas\AppData\Local\Temp\arduino_build_484960\sketch\Jarolift_MQTT.ino.cpp" -o nul
Alternatives for ESP8266WiFi.h: [[email protected]]
ResolveLibrary(ESP8266WiFi.h)
-> candidates: [[email protected]]
"C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/include" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/lwip2/include" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\Users\andreas\AppData\Local\Temp\arduino_build_484960/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++11 -ffunction-sections -fdata-sections -fno-exceptions -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10812 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD="ESP8266_NODEMCU"" -DLED_BUILTIN=2 -DFLASHMODE_DIO -DESP8266 "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\cores\esp8266" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\variants\nodemcu" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\ESP8266WiFi\src" "C:\Users\andreas\AppData\Local\Temp\arduino_build_484960\sketch\Jarolift_MQTT.ino.cpp" -o nul
Alternatives for EEPROM.h: [[email protected]]
ResolveLibrary(EEPROM.h)
-> candidates: [[email protected]]
"C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/include" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/lwip2/include" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\Users\andreas\AppData\Local\Temp\arduino_build_484960/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++11 -ffunction-sections -fdata-sections -fno-exceptions -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10812 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD="ESP8266_NODEMCU"" -DLED_BUILTIN=2 -DFLASHMODE_DIO -DESP8266 "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\cores\esp8266" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\variants\nodemcu" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\ESP8266WiFi\src" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\EEPROM" "C:\Users\andreas\AppData\Local\Temp\arduino_build_484960\sketch\Jarolift_MQTT.ino.cpp" -o nul
Alternatives for ESP8266WebServer.h: [[email protected]]
ResolveLibrary(ESP8266WebServer.h)
-> candidates: [[email protected]]
"C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/include" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/lwip2/include" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\Users\andreas\AppData\Local\Temp\arduino_build_484960/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++11 -ffunction-sections -fdata-sections -fno-exceptions -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10812 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD="ESP8266_NODEMCU"" -DLED_BUILTIN=2 -DFLASHMODE_DIO -DESP8266 "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\cores\esp8266" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\variants\nodemcu" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\ESP8266WiFi\src" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\EEPROM" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\ESP8266WebServer\src" "C:\Users\andreas\AppData\Local\Temp\arduino_build_484960\sketch\Jarolift_MQTT.ino.cpp" -o nul
Alternatives for SPI.h: [[email protected]]
ResolveLibrary(SPI.h)
-> candidates: [[email protected]]
"C:\Users\andreas\Documents\ArduinoData\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/include" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/lwip2/include" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\Users\andreas\AppData\Local\Temp\arduino_build_484960/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++11 -ffunction-sections -fdata-sections -fno-exceptions -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10812 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD="ESP8266_NODEMCU"" -DLED_BUILTIN=2 -DFLASHMODE_DIO -DESP8266 "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\cores\esp8266" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\variants\nodemcu" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\ESP8266WiFi\src" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\EEPROM" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\ESP8266WebServer\src" "-IC:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\SPI" "C:\Users\andreas\AppData\Local\Temp\arduino_build_484960\sketch\Jarolift_MQTT.ino.cpp" -o nul
Alternatives for PubSubClient.h: []
ResolveLibrary(PubSubClient.h)
Jarolift_MQTT:48:26: fatal error: PubSubClient.h: No such file or directory
-> candidates: []

#include <PubSubClient.h>

                      ^

compilation terminated.

Bibliothek ESP8266WiFi in Version 1.0 im Ordner: C:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\ESP8266WiFi wird verwendet
Bibliothek EEPROM in Version 1.0 im Ordner: C:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\EEPROM wird verwendet
Bibliothek ESP8266WebServer in Version 1.0 im Ordner: C:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\ESP8266WebServer wird verwendet
Bibliothek SPI in Version 1.0 im Ordner: C:\Users\andreas\Documents\ArduinoData\packages\esp8266\hardware\esp8266\2.7.0\libraries\SPI wird verwendet
exit status 1
PubSubClient.h: No such file or directory

Problem with WLAN password which inlcudes '&'

Hi,

i have problem with the wlan password.
It seems the password is not convert correct or is not correct save from webui.

I have a character '&' in my password and it was cut exactly at this character.

I had seen this after i add a output on serial console for the password.
Actually my work around is to set the password in source code

const char* ssid1 = "";
const char* password1 = "";

Maybe it will be possible on your end to check if the urldecoded command is the problem?

If you need further more details, let me know it.

KR

Wifi-Passwort do not accept characters like ";"

Hi,

thanks for your work!

My WIFI_STA cannot connect, as my wifi password is wrong. I debugged the function ConfigureWifi() in global.h (see below) and found out, that my wifi password ends before the containing character ";". E.g. a password like 123;456, will be truncated 123.

Unfortunately I haven't found out, where it has been truncated.

void ConfigureWifi() in global.h:

...
  WiFi.mode(WIFI_STA);
+  String S1=config.password.c_str();
+ WriteLog("DEBUG:" + S1,true);
  WiFi.begin (config.ssid.c_str(), config.password.c_str());

Any clue, how to fix the small issue?

cheers
AIXruth

File not found: did you upload the data directory?

Hallo zusammen,

ich habe alles soweit geflasht. Kann die Motoren auch über das WebUI ansteuern.

Im seriellen Monitor kommt aber immer die Meldung:
"File not found: did you upload the data directory?"

Ich habe die mqtt Verbindung zu ioBroker. Jarolift erscheint auch dort.

Was habe ich da vergessen? Warum erscheint diese Meldung?

error: could not convert while compiling

Hi, while compiling the files I am getting constantly the following error message. Can someone kindly assist? Many thanks

In file included from C:\Users\xxx\Arduino\jaro\Jarolift_MQTT_new\Jarolift_MQTT_new.ino:57:0:
C:\Users\xxx\Arduino\jaro\Jarolift_MQTT_new\helpers.h: In function 'String decodeURIComponent(String)':
C:\Users\xxx\Arduino\jaro\Jarolift_MQTT_new\helpers.h:156:37: error: 'stoi' is not a member of 'std'
std::string rc = {(char)std::stoi(haystack, nullptr, 16)};
^
C:\Users\xxx\Arduino\jaro\Jarolift_MQTT_new\helpers.h:156:69: error: could not convert '{}' from '' to 'std::string {aka std::basic_string}'
std::string rc = {(char)std::stoi(haystack, nullptr, 16)};
^

Homeassistant MQTT Einbindung

Gibt es irgendwo eine Beschreibung wie die Einstellungen in HA zu erfolgen haben ?
Ich habe bisher den MQTT Broker nebst User und Passwort am laufen, aber der Dongle wird in der Integration nicht erkannt. Muss man die Entitäten manuell anlegen ? Für Erhellung wäre ich dankbar, ich suche schon seit Stunden rum.
Der Dongle ist aber soweit am laufen.

Befehlte über URL aufrufen

Hallo, ich will mir auf meinem Nas einen Cronjob einrichten, ist es möglich die Befehle direkt über eine URL zusenden?

Wenn ja wie. Ich will nicht mqtt nutzen.

No Wifi connection

Hi! Thanks for this awesome project.

After some tinkering I think, I got the MSB and LSB Codes right. So I wanted to test it. But it seems like the ESP8266 does not connect to my wifi or the one of my father.
My SSID contains a space (" ") and the one of my father a dot ("."). Could this lead to this error?

For testing purpose I left the MQTT settings empty. Maybe that?

"Set and generate Serial" checkbox has no effect

Hello,

I'm trying to change the serial of my jarolift_mqtt setup, but the checkbox "Set and generate Serial" on the system.html page does not seem to have any effect: Even after changing the serial and enabling the checkbox, the shutters still react on commands without re-learning.

Any idea?

Thanks!!

Increase reliability - an idea

Hi,
I have an idea how reliability could be improved, but first wanted to ask about your opinion:
Currently there is a channel prefix + the counter for all of the 16 channels.

If for some reason another shutter doesn't receive a consecutive number of messages, the counter on the shutter and that of the Jarolift Dongle differ too much and the shutter won't react to the Dongle anymore.

To make this more reliable, we could have each channel have a separate channel prefix + counter. So if you open for example the shutter for the kitchen, the shutter in the living room would ignore it because it has been tought with another channel prefix. As a side effect, the dongle wouldn't be limited to 16 channels anymore.

What do you think, would that be a feasible approach? Actually I don't have an idea about how much the counter can differ until there is a problem - if this is a relatively high number, then this change would have no real benefit. If your shutter doesn't receive for example 20 consecutive messages, you definately should build another dongle that is in the reach of the shutter.

Action codes

Hello madmartin,
I wanted to edit the code for another jarolift script for homeassistant and wanted you to ask for help.
My goal is the implementation of the shade command.
Maybe you can tell me the right code for the shade command.
When i read your code right it should be the code 0x3? and not 5 seconds the code 0x8, right?

image

These are the codes i got, but with the code 0x3 my cover always closes..

Ich bitte um deine Hilfe

Hallo Martin,

ich würde mich riesig freuen wenn du mir helfen würdest deine Steuerung für Jarolift Motoren um zu setzten. Ich hoffe wir können irgendwie in Verbindung drehten. Ich habe von alle dem leider keinerlei Ahnung und bin eigentlich auf deine Hilfe angewiesen. Da du darin ein Spezialist zu sein scheinst dürfte es für dich um ein vielfaches einfacher sein als für mich.

Grüße

Nur Up wird erkannt

Ich habe nun meinen zweiten Aufbau kopiert (channel serial number prefix und device counter) vom altem Aufbau übernommen.
Hat funktioniert bei 5 Rollläden.
Einer hat Probleme damit. Er erkennt nur den UP Befehl. Die anderen nicht.
Kann man das irgendwie wieder hinbiegen ohne neu anzulernen?
Problem ist, dass ich dort sehr schwer hinkomme zum Motor.

ESP8266 only stable for a week

My ESP8266 is hanging after round about a week. I couldn't find the reason yet.
Will a second remote controller in use negativ influence the device counter?

devicekey low and high always equal? Can not use LEARN

Hi, I wanted to use the LEARN command to get started.
But in the Serial Console Im always just getting the same:
devicekey low: 0x805bxxxx // high: 0x805xxxx

Is this right? Since if I log the original remote control, they are always different.

Jarolift_MQTT_v0.7 - not conneted to config ESP Page

Hallo,
vielen Dank für dein Projekt und ich ich wollte das ganze heute mal umsetzen.
Auf meinen NodeMC habe ich deine Jarolift_MQTT-0.7 geflasht und auch das Data Verzeichnis "hochladen" lassen. Das Device geht in den AccessPointMode und ich sehe ihn auch.

Beim Login des Pointes komme ich zwar drauf aber keine Page funktioniert weil keine Ports offen sind.
Wo liegt mein Fehler oder ist noch ein Bug existent?

MfG

FirmwareUpdate

Hi,
is there a chance to be able to update the firmware via OTA?
Maybe you can add a the firmware update into the system menu?
THX

Dongle stops working after approx. 12-24h ?

Hi,
my question is, if someone has the similar problem as I have: The dongle stops working after around 12 to 24h. To be more explicit: The web server etc. is still ok, I can access via web browser, but controlling the covers does not work any more (pressing the button has simple no effect). After some time, also the device disappears from HA. After pressing the reset button every thing works fine again ... what can I do here?
(Maybe you need some more information from me?)

Thanks in advance!

Smooth way to add shade command to home assistant?

What's the best way to implement the shade command into home assistant config?

Is there a smoother way than this config (mqtt publish)

  • type: button
    tap_action:
    action: call-service
    service: mqtt.publish
    service_data:
    payload: SHADE
    topic: cmd/jarolift/shutter/5
    target: {}
    entity: cover.buro

compilation failed "no return statement in function returning non-void [-Werror=return-type]"

Hello, I followed the tutorial but when compiling under arduino IDE I encountered this error, does anyone have any ideas?
I try with Arduino IDE 2.3.2 & wemos d1 mini

`
D:\PATH\TO\Jarolift_MQTT-0.7-2\Jarolift_MQTT-0.7\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'int keeloq()':
D:\PATH\TO\Jarolift_MQTT-0.7-2\Jarolift_MQTT-0.7\Jarolift_MQTT\Jarolift_MQTT.ino:453:1: error: no return statement in function returning non-void [-Werror=return-type]
453 | } // int keeloq
| ^
D:\PATH\TO\Jarolift_MQTT-0.7-2\Jarolift_MQTT-0.7\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'int keygen()':
D:\PATH\TOs\Jarolift_MQTT-0.7-2\Jarolift_MQTT-0.7\Jarolift_MQTT\Jarolift_MQTT.ino:479:1: error: no return statement in function returning non-void [-Werror=return-type]
479 | } // int keygen
| ^
D:\PATH\TO\Jarolift_MQTT-0.7-2\Jarolift_MQTT-0.7\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'int rx_keygen()':
D:\PATH\TO\Jarolift_MQTT-0.7-2\Jarolift_MQTT-0.7\Jarolift_MQTT\Jarolift_MQTT.ino:641:1: error: no return statement in function returning non-void [-Werror=return-type]
641 | } // int rx_keygen
| ^
D:\PATH\TO\Jarolift_MQTT-0.7-2\Jarolift_MQTT-0.7\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'int rx_decoder()':
D:\PATH\TO\Jarolift_MQTT-0.7-2\Jarolift_MQTT-0.7\Jarolift_MQTT\Jarolift_MQTT.ino:654:1: error: no return statement in function returning non-void [-Werror=return-type]
654 | } // int rx_decoder
| ^
cc1plus.exe: some warnings being treated as errors

exit status 1

Compilation error: no return statement in function returning non-void [-Werror=return-type]
`

Can not fnd the device in the network

Hello i installed it on my wemod d1 and successfully got into the webinterface then changed to my wifi settings.
After this i searched for it in my ip range but could not find it.

The serial monitor gives me the following output:
1970-01-01 02:00:00 CEST [INFO] - starting Jarolift Dongle v0.7
1970-01-01 02:00:00 CEST [INFO] - ESP-ID 13683746 // ESP-Core 3.0.1 // SDK Version 2.2.2-dev(38a443e)
1970-01-01 02:00:00 CEST [INFO] - read config from EEPROM . . . config version 2 found
1970-01-01 02:00:00 CEST [INFO] - initializing the CC1101 Transceiver. If you get stuck here, it is probably not connected.
1970-01-01 02:00:00 CEST [INFO] - WiFi connecting to DS17
1970-01-01 02:00:00 CEST [INFO] - HTTP server started
1970-01-01 02:00:07 CEST [INFO] - WiFi station disconnected

Maybe you can help me out.
Can i see the actual ip address.

Wifi debug:
state: 5 -> 2 (fc0)
rm 0
wifi evt: 1
STA disconnect: 15
reconnect
state: 2 -> 0 (0)
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 9
cnt

Admin mode error (blank page)

Hi all,

I've followed the given instructions, but after reboot in admin mode, connection to the ESP access point and then connection to the webserver (http://192.168.4.1/), I get a blank page with just '404: Not Found'.
In the mean time on the serial monitor, a message is displayed : File not found: did you upload the data directory?

My HW is:

  • NodeMCUJ v3,
  • CC1101 tranceiver.

From this forum (https://randomnerdtutorials.com/install-esp32-filesystem-uploader-arduino-ide/) the appropriate file update tool is the 'LittleFS Filesystem Uploader', this is the one I've installed and used to update the ESP file system.
So far this was apparently ok : during update it displays the list of detected files (the ones in the 'data' folder), and at the end I got a message 'LittleFS Image Uploaded'.

So right now I can't go further (configuring via admin mode). Any help/suggestion will be greatly appreciated.

Thanks.
Claude

Gruppensteuerung

Hi,
would it be possible to also integrate group control?
As per the original post it should be possible?

It would be very beneficial to have the group control to be able to start all shutters within a room at the same time.

What do you think?

get stucked while

I only come to here, but I can´t reach the webside 192.168.0.40
`
1970-01-01 09:00:00 CEST [INFO] - starting Jarolift Dongle v0.7
1970-01-01 09:00:00 CEST [INFO] - ESP-ID 7620309 // ESP-Core 2_5_2 // SDK Version 2.2.1(cfd48f3)
1970-01-01 09:00:00 CEST [INFO] - read config from EEPROM . . . config version 2 found
1970-01-01 09:00:00 CEST [INFO] - initializing the CC1101 Transceiver. If you get stuck here, it is probably not connected.
1970-01-01 09:00:00 CEST [INFO] - WiFi station connected - IP: 192.168.0.40

DST Rules Updated:
DST Start: Sun Mar 29 02:00:00 2020
DST End: Sun Oct 25 02:00:00 2020

2020-04-11 18:50:42 CEST [INFO] - time set from NTP server
`

MQTT not recognizing other remotes?

HI!
I just found this project here.
Before i tried the Version for the Dongle from bastelbudenbuben.de.

I was happy that i found this Version supporting MQTT now.
But at my first Tests i recognized, that MQTT didnt update the Readings and State if the Motors are used with Remote Devices.
At Steffens Version he uses Disc (Serial Number of Motor) and Remote Serial Parameters to be able to set state also with non Dongle Remotes.

Does this Project not support to recognize if Motors are put up or down with other Jarolift Remotes?

Compilation error

Hi,

I wanted to compile with Arduino 2.0.4. Now I am getting the following error message. Can someone help?

Many thanks

C:\Users\xx\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:66:10: fatal error: PubSubClient.h: No such file or directory
66 | #include <PubSubClient.h>
| ^~~~~~~~~~~~~~~~
compilation terminated.

exit status 1

Compilation error: PubSubClient.h: No such file or directory

Exception error (0) on pressing learn-button in shutter

Hi there,
i tried to get this thing to work but it doesn't. This is what i get using the exception decoder on Arduino IDE 1.8.9

Exception 0: Illegal instruction
Decoding 11 results
0x40202efd: keygen() at ?? line ?
0x40202efd: keygen() at ?? line ?
0x40202e8a: keygen() at C:\Users\Vivien\Documents\Arduino\Jarolift_MQTT/Jarolift_MQTT.ino line 466
0x40100d4a: free at C:\Users\Vivien\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\umm_malloc/umm_malloc.cpp line 595
: (inlined by) free at C:\Users\Vivien\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266\umm_malloc/umm_malloc.cpp line 574
0x40210b69: String::invalidate() at C:\Users\Vivien\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/WString.cpp line 148
0x402038da: String::~String() at C:\Users\Vivien\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/WString.h line 79
: (inlined by) cmd_learn(int) at C:\Users\Vivien\Documents\Arduino\Jarolift_MQTT/Jarolift_MQTT.ino line 1006
0x40212512: __delay at C:\Users\Vivien\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/core_esp8266_wiring.cpp line 54
0x4020ac51: String::operator==(char const*) const at C:\Users\Vivien\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/WString.h line 149
: (inlined by) loop at C:\Users\Vivien\Documents\Arduino\Jarolift_MQTT/Jarolift_MQTT.ino line 433
0x401002f1: esp_schedule at C:\Users\Vivien\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/core_esp8266_main.cpp line 129
0x40211ea8: loop_wrapper() at C:\Users\Vivien\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/core_esp8266_main.cpp line 201
0x401010d9: cont_wrapper at C:\Users\Vivien\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\cores\esp8266/cont.S line 81

What is wrong with my installation ?

Not declared error messages

When I am compiling the Sketch I am getting the following error messages. Can someone guide me through?

In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:3:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:30:16: error: variable 'dstRule StartRule' has initializer but incomplete type
30 | struct dstRule StartRule = {"CEST", Last, Sun, Mar, 2, 3600}; // Daylight time
| ^~~~~~~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:30:37: error: 'Last' was not declared in this scope
30 | struct dstRule StartRule = {"CEST", Last, Sun, Mar, 2, 3600}; // Daylight time
| ^~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:30:43: error: 'Sun' was not declared in this scope
30 | struct dstRule StartRule = {"CEST", Last, Sun, Mar, 2, 3600}; // Daylight time
| ^~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:30:48: error: 'Mar' was not declared in this scope
30 | struct dstRule StartRule = {"CEST", Last, Sun, Mar, 2, 3600}; // Daylight time
| ^~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:31:16: error: variable 'dstRule EndRule' has initializer but incomplete type
31 | struct dstRule EndRule = {"CET", Last, Sun, Oct, 2, 0}; // Standard time
| ^~~~~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:31:34: error: 'Last' was not declared in this scope
31 | struct dstRule EndRule = {"CET", Last, Sun, Oct, 2, 0}; // Standard time
| ^~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:31:40: error: 'Sun' was not declared in this scope
31 | struct dstRule EndRule = {"CET", Last, Sun, Oct, 2, 0}; // Standard time
| ^~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:31:45: error: 'Oct' was not declared in this scope
31 | struct dstRule EndRule = {"CET", Last, Sun, Oct, 2, 0}; // Standard time
| ^~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:32:1: error: 'simpleDSTadjust' does not name a type
32 | simpleDSTadjust dstAdjusted(StartRule, EndRule); // Setup simpleDSTadjust Library rules
| ^~~~~~~~~~~~~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:34:1: error: 'ESP8266WebServer' does not name a type
34 | ESP8266WebServer server(80); // The Webserver
| ^~~~~~~~~~~~~~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:35:1: error: 'WiFiClient' does not name a type
35 | WiFiClient espClient;
| ^~~~~~~~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:36:1: error: 'PubSubClient' does not name a type; did you mean 'PubSubClient_h'?
36 | PubSubClient mqtt_client(espClient); // mqtt client instance
| ^~~~~~~~~~~~
| PubSubClient_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:38:1: error: 'WiFiEventHandler' does not name a type
38 | WiFiEventHandler gotIpEventHandler, disconnectedEventHandler;
| ^~~~~~~~~~~~~~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:44:1: error: 'Ticker' does not name a type
44 | Ticker tkHeartBeat; // Timer for HeartBeat
| ^~~~~~
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:3:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h: In function 'void WriteLog(String, boolean)':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:118:18: error: 'dstAdjusted' was not declared in this scope
118 | time_t now = dstAdjusted.time(&dstAbbrev);
| ^~~~~~~~~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h: In function 'void ConfigureWifi()':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:147:3: error: 'WiFi' was not declared in this scope; did you mean 'WiFi_h'?
147 | WiFi.mode(WIFI_STA);
| ^~~~
| WiFi_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:147:13: error: 'WIFI_STA' was not declared in this scope
147 | WiFi.mode(WIFI_STA);
| ^~~~~~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:151:17: error: 'IPAddress' was not declared in this scope; did you mean 'IPAddress_h'?
151 | WiFi.config(IPAddress(config.ip[0], config.ip[1], config.ip[2], config.ip[3] ), IPAddress(config.gateway[0], config.gateway[1], config.gateway[2], config.gateway[3] ) , IPAddress(config.netmask[0], config.netmask[1], config.netmask[2], config.netmask[3] ));
| ^~~~~~~~~
| IPAddress_h
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:3:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h: In function 'void WriteConfig()':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:162:3: error: 'EEPROM' was not declared in this scope; did you mean 'EEPROM_h'?
162 | EEPROM.write(120, 'C');
| ^~~~~~
| EEPROM_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:189:3: error: 'WriteStringToEEPROM' was not declared in this scope
189 | WriteStringToEEPROM(164, config.ssid);
| ^~~~~~~~~~~~~~~~~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h: In function 'boolean ReadConfig()':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:232:7: error: 'EEPROM' was not declared in this scope; did you mean 'EEPROM_h'?
232 | if (EEPROM.read(120) == 'C' && EEPROM.read(121) == 'F' && EEPROM.read(122) == 'G' )
| ^~~~~~
| EEPROM_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:251:19: error: 'EEPROM' was not declared in this scope; did you mean 'EEPROM_h'?
251 | config.dhcp = EEPROM.read(128);
| ^~~~~~
| EEPROM_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:269:19: error: 'ReadStringFromEEPROM' was not declared in this scope
269 | config.ssid = ReadStringFromEEPROM(164, 32);
| ^~~~~~~~~~~~~~~~~~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:300:31: error: 'ReadStringFromEEPROM' was not declared in this scope
300 | config.mqtt_devicetopic = ReadStringFromEEPROM(1300, 20);
| ^~~~~~~~~~~~~~~~~~~~
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:307:7: error: 'EEPROM' was not declared in this scope; did you mean 'EEPROM_h'?
307 | EEPROM.write(index, 0);
| ^~~~~~
| EEPROM_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h: In function 'void HeartBeat()':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:406:7: error: 'WiFi' was not declared in this scope; did you mean 'WiFi_h'?
406 | if (WiFi.status() != WL_CONNECTED)
| ^~~~
| WiFi_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:406:24: error: 'WL_CONNECTED' was not declared in this scope; did you mean 'MQTT_CONNECTED'?
406 | if (WiFi.status() != WL_CONNECTED)
| ^~~~~~~~~~~~
| MQTT_CONNECTED
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:420:5: error: 'tkHeartBeat' was not declared in this scope; did you mean 'HeartBeat'?
420 | tkHeartBeat.attach(pulse_on, HeartBeat);
| ^~~~~~~~~~~
| HeartBeat
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/global.h:422:5: error: 'tkHeartBeat' was not declared in this scope; did you mean 'HeartBeat'?
422 | tkHeartBeat.attach(pulse_off, HeartBeat);
| ^~~~~~~~~~~
| HeartBeat
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:4:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/helpers.h: In function 'void WriteStringToEEPROM(int, String)':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/helpers.h:47:5: error: 'EEPROM' was not declared in this scope; did you mean 'EEPROM_h'?
47 | EEPROM.write(beginaddress + t, charBuf[t]);
| ^~~~~~
| EEPROM_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/helpers.h: In function 'String ReadStringFromEEPROM(int, int)':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/helpers.h:59:13: error: 'EEPROM' was not declared in this scope; did you mean 'EEPROM_h'?
59 | rChar = EEPROM.read(beginaddress + counter);
| ^~~~~~
| EEPROM_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/helpers.h: In function 'void EEPROMWritelong(int, long int)':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/helpers.h:78:3: error: 'EEPROM' was not declared in this scope; did you mean 'EEPROM_h'?
78 | EEPROM.write(address, four);
| ^~~~~~
| EEPROM_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/helpers.h: In function 'long int EEPROMReadlong(long int)':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/helpers.h:88:15: error: 'EEPROM' was not declared in this scope; did you mean 'EEPROM_h'?
88 | long four = EEPROM.read(address);
| ^~~~~~
| EEPROM_h
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:5:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h: In function 'void html_api()':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:22:66: error: 'server' was not declared in this scope; did you mean 'server_h'?
22 | if (debug_webui) Serial.printf("html_api server.args()=%d \n", server.args());
| ^~~~~~
| server_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:23:7: error: 'server' was not declared in this scope; did you mean 'server_h'?
23 | if (server.args() > 0 ) {
| ^~~~~~
| server_h
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:11:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h: At global scope:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:21:6: error: redefinition of 'void html_api()'
21 | void html_api() {
| ^~~~~~~~
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:5:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:21:6: note: 'void html_api()' previously defined here
21 | void html_api() {
| ^~~~~~~~
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:11:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h: In function 'void html_api()':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:22:66: error: 'server' was not declared in this scope; did you mean 'server_h'?
22 | if (debug_webui) Serial.printf("html_api server.args()=%d \n", server.args());
| ^~~~~~
| server_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:23:7: error: 'server' was not declared in this scope; did you mean 'server_h'?
23 | if (server.args() > 0 ) {
| ^~~~~~
| server_h
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:17:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h: At global scope:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:21:6: error: redefinition of 'void html_api()'
21 | void html_api() {
| ^~~~~~~~
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:5:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:21:6: note: 'void html_api()' previously defined here
21 | void html_api() {
| ^~~~~~~~
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:17:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h: In function 'void html_api()':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:22:66: error: 'server' was not declared in this scope; did you mean 'server_h'?
22 | if (debug_webui) Serial.printf("html_api server.args()=%d \n", server.args());
| ^~~~~~
| server_h
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:23:7: error: 'server' was not declared in this scope; did you mean 'server_h'?
23 | if (server.args() > 0 ) {
| ^~~~~~
| server_h
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:74:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h: At global scope:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:21:6: error: redefinition of 'void html_api()'
21 | void html_api() {
| ^~~~~~~~
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:5:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:21:6: note: 'void html_api()' previously defined here
21 | void html_api() {
| ^~~~~~~~
In file included from C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:74:
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h: In function 'void html_api()':
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:22:66: error: 'server' was not declared in this scope; did you mean 'Server'?
22 | if (debug_webui) Serial.printf("html_api server.args()=%d \n", server.args());
| ^~~~~~
| Server
c:\Users\brank\OneDrive\Dokumente\Arduino\libraries\Jarolift_MQTT-master/html_api.h:23:7: error: 'server' was not declared in this scope; did you mean 'Server'?
23 | if (server.args() > 0 ) {
| ^~~~~~
| Server
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'void setup()':
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:156:3: error: 'gotIpEventHandler' was not declared in this scope; did you mean 'WiFiEventHandler'?
156 | gotIpEventHandler = WiFi.onStationModeGotIP([](const WiFiEventStationModeGotIP & event)
| ^~~~~~~~~~~~~~~~~
| WiFiEventHandler
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:162:3: error: 'disconnectedEventHandler' was not declared in this scope
162 | disconnectedEventHandler = WiFi.onStationModeDisconnected([](const WiFiEventStationModeDisconnected & event)
| ^~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:211:3: error: 'server' was not declared in this scope; did you mean 'Server'?
211 | server.on ( "/api", html_api ); // command api
| ^~~~~~
| Server
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In lambda function:
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:214:25: error: 'server' is not captured
214 | if (!handleFileRead(server.uri())) { // send it if it exists
| ^~~~~~
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:213:22: note: the lambda has no capture-default
213 | server.onNotFound( { // If the client requests any URI
| ^
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:211:3: note: 'server' declared here
211 | server.on ( "/api", html_api ); // command api
| ^~~~~~
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:215:7: error: 'server' is not captured
215 | server.send(404, "text/plain", "404: Not Found"); // otherwise, respond with a 404 (Not Found) error
| ^~~~~~
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:213:22: note: the lambda has no capture-default
213 | server.onNotFound( { // If the client requests any URI
| ^
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:211:3: note: 'server' declared here
211 | server.on ( "/api", html_api ); // command api
| ^~~~~~
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'void setup()':
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:222:3: error: 'tkHeartBeat' was not declared in this scope; did you mean 'HeartBeat'?
222 | tkHeartBeat.attach(1, HeartBeat);
| ^~~~~~~~~~~
| HeartBeat
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:225:3: error: 'mqtt_client' was not declared in this scope; did you mean 'mqtt_connect'?
225 | mqtt_client.setServer(IPAddress(config.mqtt_broker_addr[0], config.mqtt_broker_addr[1],
| ^~~~~~~~~~~
| mqtt_connect
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'void loop()':
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:263:3: error: 'server' was not declared in this scope; did you mean 'Server'?
263 | server.handleClient();
| ^~~~~~
| Server
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:331:9: error: 'mqtt_client' was not declared in this scope; did you mean 'mqtt_connect'?
331 | if (mqtt_client.connected() && mqtt_send_radio_receive_all) {
| ^~~~~~~~~~~
| mqtt_connect
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:350:12: error: 'mqtt_client' was not declared in this scope; did you mean 'mqtt_connect'?
350 | if (!mqtt_client.connected()) {
| ^~~~~~~~~~~
| mqtt_connect
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'bool handleFileRead(String)':
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:653:19: error: 'server' was not declared in this scope; did you mean 'Server'?
653 | size_t sent = server.streamFile(file, contentType); // And send it to the client
| ^~~~~~
| Server
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'void devcnt_handler(boolean)':
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:743:7: error: 'mqtt_client' was not declared in this scope; did you mean 'mqtt_connect'?
743 | if (mqtt_client.connected()) {
| ^~~~~~~~~~~
| mqtt_connect
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'void mqtt_send_percent_closed_state(int, int, String)':
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:758:7: error: 'mqtt_client' was not declared in this scope; did you mean 'mqtt_connect'?
758 | if (mqtt_client.connected()) {
| ^~~~~~~~~~~
| mqtt_connect
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'void mqtt_send_config()':
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:776:7: error: 'mqtt_client' was not declared in this scope; did you mean 'mqtt_connect'?
776 | if (mqtt_client.connected()) {
| ^~~~~~~~~~~
| mqtt_connect
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'void mqtt_send_config_line(int&, String)':
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:823:3: error: 'mqtt_client' was not declared in this scope; did you mean 'mqtt_connect'?
823 | mqtt_client.publish(Topic.c_str(), Payload.c_str());
| ^~~~~~~~~~~
| mqtt_connect
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'void cmd_save_config()':
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:1033:5: error: 'mqtt_client' was not declared in this scope; did you mean 'mqtt_connect'?
1033 | mqtt_client.publish(topicOld.c_str(), "", true);
| ^~~~~~~~~~~
| mqtt_connect
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:1058:7: error: 'server' was not declared in this scope; did you mean 'Server'?
1058 | server.send ( 200, "text/plain", "Set new Serial not successful, not a hexadecimal number.");
| ^~~~~~
| Server
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:1069:3: error: 'server' was not declared in this scope; did you mean 'Server'?
1069 | server.send ( 200, "text/plain", "Configuration has been saved, system is restarting. Please refresh manually in about 30 seconds.." );
| ^~~~~~
| Server
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'void cmd_restart()':
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:1077:3: error: 'server' was not declared in this scope; did you mean 'Server'?
1077 | server.send ( 200, "text/plain", "System is restarting. Please refresh manually in about 30 seconds." );
| ^~~~~~
| Server
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino: In function 'boolean mqtt_connect()':
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:1114:7: error: 'mqtt_client' was not declared in this scope; did you mean 'mqtt_connect'?
1114 | if (mqtt_client.connect(client_id, username, password, willTopic.c_str(), willQos, willRetain, willMessage )) {
| ^~~~~~~~~~~
| mqtt_connect
C:\Users\brank\Downloads\Jarolift_MQTT-master\Jarolift_MQTT\Jarolift_MQTT.ino:1123:10: error: 'mqtt_client' was not declared in this scope; did you mean 'mqtt_connect'?
1123 | return mqtt_client.connected();
| ^~~~~~~~~~~
| mqtt_connect

exit status 1

Compilation error: 'gotIpEventHandler' was not declared in this scope; did you mean 'WiFiEventHandler'?

Originally posted by @branka5 in #58 (comment)

NTP won't work, if DHCP is disabled

If I disable DHCP, NTP won't work.

I found out that global.h doesn't include a DNS in WiFi.config(ip, dns, gateway, subnet);
A quick and dirty solution will be:
WiFi.config(IPAddress(config.ip[0], config.ip[1], config.ip[2], config.ip[3] ), IPAddress(8,8,8,8), IPAddress(config.gateway[0], config.gateway[1], config.gateway[2], config.gateway[3] ) , IPAddress(config.netmask[0], config.netmask[1], config.netmask[2], config.netmask[3] ));

However I am working on a fix.

Reconnect by lost Wifi

Hallo. It is possible to automatically connect the dongle to Wifi? When the router for example restarted. But at the moment it is not like that.

Leiterplatine

Hat jemand eine saubere Leiterplatine entworfen und kann mir die Datei zur Verfügung stellen, damit ich sie mir anfertigen lassen kann?
Selbstgelötet auf Lochrasterplatine sieht es immer etwas frickelling aus.

Jarolift_MQTT vergisst Rolladenmotoren

Hallo,

Ich habe das Problem, dass Jarolift _ MQTT immer wieder einen Rollladenmotor vergisst und ich diesen dann nur noch über die Jarolift Fernbedienung steuern kann. Das Aus- und Einschalten des Jarolift_MQTT als auch das Stromlos machen der Rolladenmotoren führt ebenso wenig zum Erfolg wie der Versuch des Neueinlernens. was kann ich tun?

Backup?

Kann man die Einstellungen irgendwie sichern?
Ich würde gerne einen anderen Wemos versuchen wollen, da sich das Ganze bei mir leider öfter aufhängt.
Würde das gehen, ohne dass man die Rollläden neu anlernen muss?

Feature: Time Scheduler

Currently I am not planning to use a home automation with MQTT.
But I want to centralize the timing of my Jarolift shutters. It´s a pain in the a**, changeing it several times a year. And on top of that, the devices will all have a little delay...
And the ESP8266 is running all the time, anyways!

So I started to enhance the code with some functionality. For now, just as a proof of concept and not very "clean coded".

grafik

What´s missing:

  • Loading Setup (SPIFFS)
  • Storing Setup (SPIFFS)
  • Optimizing HTML & JS
  • Optimizing Arduino Code

If you are interested in this as an optional feature, I can create a Pull request. Otherwise I´ll just leave my code here, when it´s ready.

minimize EEPROM writes

Currently I think the device counter is saved to EEPROM on each increment. To maximize flash life maybe there is a way to minimize the writes - like just writing it every 20 increments.

Thank you for adding MQTT and the web UI to this project ;-)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.