All Projects → madmartin → Jarolift_MQTT

madmartin / Jarolift_MQTT

Licence: GPL-3.0 license
Controlling Jarolift TDEF 433MHZ radio shutters via ESP8266 and CC1101 Transceiver Module in asynchronous mode

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to Jarolift MQTT

Ideasnprojects
That Project's Source Code
Stars: ✭ 344 (+700%)
Mutual labels:  esp8266, nodemcu, arduino-ide
Arduino Applemidi Library
Send and receive MIDI messages over Ethernet (rtpMIDI or AppleMIDI)
Stars: ✭ 177 (+311.63%)
Mutual labels:  esp8266, arduino-ide
SmartLEDLamp
A smart, web-enabled floor lamp with nice visual effects based on IKEA Vidja powered by ESP8266 and WS2801.
Stars: ✭ 22 (-48.84%)
Mutual labels:  esp8266, smarthome
Openmqttgateway
MQTT gateway for ESP8266, ESP32, Sonoff RF Bridge or Arduino with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility, SMS & LORA.
Stars: ✭ 2,413 (+5511.63%)
Mutual labels:  esp8266, nodemcu
Templates
Tasmota Device Templates Repository. Your one stop shop to get templates for devices running Tasmota!
Stars: ✭ 162 (+276.74%)
Mutual labels:  esp8266, smarthome
Esp8266 wifi captive portal
🔑 WiFi captive portal for ESP8266 for phishing WiFi passwords
Stars: ✭ 165 (+283.72%)
Mutual labels:  esp8266, nodemcu
home-assistant-opentherm-thermostat
Home Assistant OpenTherm Thermostat
Stars: ✭ 26 (-39.53%)
Mutual labels:  esp8266, smarthome
Irremoteesp8266
Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/
Stars: ✭ 1,964 (+4467.44%)
Mutual labels:  esp8266, arduino-ide
Lorawangateway
A LoRaWan Gateway in LUA
Stars: ✭ 197 (+358.14%)
Mutual labels:  esp8266, nodemcu
Awesome Esp
📶 A curated list of awesome ESP8266/32 projects and code
Stars: ✭ 212 (+393.02%)
Mutual labels:  esp8266, nodemcu
Esp Lisp
Beta: A small fast lisp interpeter for a ESP8266 as alternative to lua on the nodemcu.
Stars: ✭ 236 (+448.84%)
Mutual labels:  esp8266, nodemcu
MQTT-MotorizeBlinds
Code for ESP8266 Microcontrollers that control DIY motorized blids made from IKEA TUPPLUR blinds. Code in this repo is intentionaly to use with Homebridge MQTT plugin on raspberry Pi
Stars: ✭ 17 (-60.47%)
Mutual labels:  esp8266, smarthome
Garhage
a Home-Automation-friendly ESP8266-based MQTT Garage Door Controller
Stars: ✭ 163 (+279.07%)
Mutual labels:  esp8266, arduino-ide
Esp8266 Spotify Remote
Control your Spotify player from a ESP8266 with color touch display
Stars: ✭ 170 (+295.35%)
Mutual labels:  esp8266, arduino-ide
Configmanager
ESP8266 Wifi connection and configuration manager.
Stars: ✭ 149 (+246.51%)
Mutual labels:  esp8266, nodemcu
Wirehome.core
Wirehome.Core is a home automation system written in C# targeting .NET Core. It runs on Linux, Windows and macOS.
Stars: ✭ 180 (+318.6%)
Mutual labels:  esp8266, smarthome
Nodemcu Tool
🔧 Upload + Manage Lua files on NodeMCU
Stars: ✭ 248 (+476.74%)
Mutual labels:  esp8266, nodemcu
Swifitch
Swifitch is ESP8266 based relay board that could be used to turn any light or any wall socket into smart one!
Stars: ✭ 117 (+172.09%)
Mutual labels:  esp8266, nodemcu
Coogleiot
A ESP8266 Library for easy IOT device development
Stars: ✭ 118 (+174.42%)
Mutual labels:  esp8266, mqtt-client
Dhtesp
Optimized DHT library for ESP32/ESP8266 using Arduino framework
Stars: ✭ 184 (+327.91%)
Mutual labels:  esp8266, arduino-ide

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].