Sonntag, 21. Mai 2023

ESPhome on Obi smart plug WFG-3-B with Libretiny and Tuya Cloudcutter

 Hello,

today I want to share with you a device yaml file for a smart plug I converted from Tuya / Smartlife to ESPhome. You can follow this tutorial from the maker of the libretiny project to convert your device into an ESPhome compatible device. 

https://www.youtube.com/watch?v=sSj8f-HCHQ0

Also Digiblur made a good video about it. I used his video to set-up the Tuya Cloudcutter. The ESPhome part can be done on your home assistant installation like it is done in the first video. You don´t need to build the firmware, use the kickstart firmware from kuba2k2 (first video).

https://digiblur.com/2023/04/10/tuya-cloudcutter-with-esphome-how-to-guide/


I used a smart plug from my local German DIY store, OBI. 

https://www.obi.de/hausfunksteuerung/wifi-stecker-schuko-weiss/p/5274899


In my case the used chip inside was a BK7231T chip with WB2S module, running MCU 1.1.2. In Tuya Cloudcutter I wass successful with the following device profile: 

1.1.2 - BK7231T / oem_bk7231s_rnd_switch

The MCU version can be checked when adding the device to your Tuya App, see video. To find the specific chip used, I had to open my device and check on the board the printed name. I don´t think it is necessary again now for the next plug I will re-flash. To open the device, you need to destroy the scres as it is impossible to open them with a tool. I drilled them out.

The part I want to contribute to this is the created device file for the Obi smart plug as it was not easy to figure out the pins for the LED and the relay. 

This is not the full config, the WiFi part and so on is left out. This is something you need to make for your specific device. 

esphome:
  name: obiwifiplug
  name_add_mac_suffix: true
  comment: WFG-3-B, Wifi-Stecker Schuko Weiß von OBI, Artikelnummer 5274899 bei OBI, https://www.obi.de/hausfunksteuerung/wifi-stecker-schuko-weiss/p/5274899, Euromate GmbH & Co. KG, Art.-Nr. 210308

libretiny:
  board: generic-bk7231t-qfn32-tuya
  framework:
    version: dev

binary_sensor:
- platform: gpio
  id: button_1
  pin:
    number: P26
    inverted: true
    mode: INPUT_PULLUP
  on_press:
    then:
    - switch.toggle: switch_1

switch:
- platform: gpio
  id: switch_1
  name: Relay 1
  pin:
    number: P24
  on_turn_on:
    - output.turn_on: led
  on_turn_off:
    - output.turn_off: led

output:
- platform: gpio
  id: led
  pin: 
    number: P6
    inverted: true





Montag, 6. September 2021

Fibaro FGCD-001 on Vera (lite)

 So after many failed attempts, I got a Fibaro FGCD-001 carbon monoxide detectot and alarm to work with Vera Lite, on UI7 version 1.7.1040.

When inittially adding it as a generic z-wave device, it will add the sensor, a child device as temperature sensor and some weird other device. Ignore this one.  




I used these device configuration settings, but I think you can also do without them.

The important part is to change some settings for the device so it is treated like a CO Alarm properly and is displayed as such. We need to add one file to the vera via the Apps - Develop apps - Luup files.


The file in question would be this one here:

Download the "original" Smoke Alarm from your Vera (browse the list), open it with a simple text editor and modify it with the code from this one here:


Safe it as "Virtual Smoke" and upload it to the Vera. 


Once this is done, go to your "generic device" and modify:





Category and subcategory, to mark it as a sensor for CO

As Device JSON, use the D_COSensor.json (which is standard on the Vera).

The device _file needs to be the new file we created and uploaded to the Vera, in my case the D_Virtual_SmokeSensor1.xml

As last bit, set device_type to "" urn:schemas-micasaverde-com:device:SmokeSensor:1 "".

If all goes well, this should result in a working CO Alarm in UI7 with the Fibaro FGCD-001

It seems like you need to be careful when entering these names in the property fields... If you enter "filename.xml " with a space after the xml part, the device will disappear. So always make sure that there is no trailing " " at the end of your filenames!!!


Dienstag, 24. August 2021

Z-Wave Rollladen Gurtwickler - belt winders for roller shutters

 Hi,

ever wondered if there are any z-wave enabled belt winders for roller shutters on the market? No, there aren't any. Some manufacturers will offer you their on "smart-home" protocol solution, like Velux, Rademacher or Somfy. They use protocols like RTS, io-control or whatnot... If you are looking to use a z-wave based system, it's not possible without some DIY.

I recently was able to convert a Rademacher Rollotron ("RolloTron Standard DuoFern") into a functional z-wave controllabe device without butchering it. There is another solution I have found from the Blog www.siio.de but it involves to destroy and make a lot of modifications to the (different style and model and make) belt winder. My solution here is probably more expensive but won't damage the belt winder and it will stay fully functional as before and still can be controlled locally or through the DuoFern remote and ecosystem. 

So I used a Fibaro Roller Shutter 3 to act as the Z-Wave modul. This was controlling a "DuoFern 9497 module" which is basically a DuoFern barbone remote. it is supposed to be installed as a wall switch behind a switch but I connected it to the Fibaro module. 


It requires a 12V source. I used an old power supply from a broken gadget. As the device contacts are "dry contacts" I couldn't connect the fibaro roller shutter directly to the DF9497. I used two relays which "closed" when the fibaro gave power to the exit (up or down). I used two WAGO xxx as relays. 



The Fibaro roller shutter module S1 and GND was connected to A1 and A2. The DF9497 was connected to 11 and 14. If the Fibaro gives power for "DOWN" for example, the relay would close, finalizing the circuit on the DF9497 module. This would then send a command with the standard DuoFern protocol to the roller shutter belt winder and close it. Same for UP movement.

Something like this but this is with a KLF-050 for the Velux system (RTS). This actually inspired me and I adopted this below to the DuoFern system once I discovered they have the DF 9497 module. 




It would probably would have been easier to use a Qubino module which works in 12V mode to eliminate the need to 230V in the setup. maybe it is also possible to use the Fibaro smart implant in the setup but you would need to get two "potential free" dry contact outputs which act as a remote switch for the DuoFern 9497 to close the connection for "up" and "down". At the time this was my best solution for this to integrate a single DuoFern belt winder in my Vera Lite Z-Wave eco system. I might post more pictures later as well as some z-wave parameters for the Fibaro unit to get positioning % working.

To summarize, the advantages are:
  • No modification on the belt winder needed
  • belt winder continues to work as normal with any other potential DuoFern equipment
  • native z-wave integration in the end with positioning %
  • You can add a switch as well to control the blind from somewhere else (the purpose of the DF 9497 originally intended, but we will connect)

Downsides are:
  • You need a z-wave module, a DF9497 module, two relays for each belt winder [100€ minimum]
  • If you control the DuoFern locally or via DuoFern system, the positioning in z-wave is not synchronized 
  • The whole "control package" is quite big with all the cables and clutter, no way you can fit that in the wall, but you can put it anywhere really as it just acts as a "Z-Wave to DuoFern translator box" actually. I put all the stuff in a electrical connector box and chucked it onto a shell on the top out of the way and sight, not bothering me
  • You need to know what you do as it involves 230V!

Probably if you ahve more than one or two DuoFern things to control, it is better to take the homepilot hub from Rademacher and somehow integrate the homepilot hub into Vera. I haven't investigated this option. Maybe with home-assittant or openhab or iobroker these home-pilot can be integrated. 






Freitag, 16. April 2021

Duwi 05436 Jalousie Funk Einbauschalter also known as ZW ESJ from Duwi or Popp

 So I have those roller shutter blind control modules since ages and they seem to work okay. I bought them as Düwi 05459x or 05436 (last number just represents the style of the cosmetic frame and paddle switch) but they are also known as ZW ESJ by Popp or some other company as interact3 or as DUW_064367. I have even read that they were the very first z-wave devices when the system was called something else.

Anyway, point if this post is to remind us of the z-wave parameters you can program in those as the parameters are nowhere documented properly. The manual will only state how to calibrate up and down with the device in learning mode but not how to calibrate via programming with z-wave parameters. While looking for an answer I came across many forum posts asking how to do it but no answers. Finally I stumbled across jeedom  where the device parameters are finally explained. While I was reading it I remembered this as I have done it many years ago myself. So before forgetting it again and helping others to find this information, I will share it here (again):

You can only work with two parameters here:

  • Parameter 0 is configuring the runtime for up and down
  • Parameter 1 is configuring the behavior when pressing the opposite button while the moving
Both these things can apparently be set also without parameters as per manual, see screenshot:







As you can see after browsing through many manuals which cover (what I believe is the same device), now let's have a look at the "modern" way on how to do this:

  • Parameter 0 is configuring the runtime for up and down
  • Parameter 1 is configuring the behavior when pressing the opposite button while the moving
For Parameter 1 it is pretty easy. I was able to modify the behavior of the module. In the default setting, it will stop the movement if you press the opposite direction. For this you need to set the value to 1. If you want to immediately revert the movement, set it to 0. I was successful by using parameter type and size of "1 byte decimal". First time I "monitored" the value it was 255 though, which is decimal for FF (hex code). So not sure if it might be required to use "1 byte hex" instead. Anyway, as pictured below works for me either 1 or 0 in parameter 1 "1 byte dec".


While typing this, I tried it in "1 byte hex" with value FF and it resulted in value 255 as "current value". Seems to work either way. You will see for parameter 0 why hex is important....


 
Now let's check out parameter 0 for the runtime. It seems to code the runtime, in up and down direction with two different values in one string. I try my best to explain. First, if we work with times less than 2minutes we get an accuracy (or possibility) to program in 1s intervals, while anything more will only be in 10s steps, as per user manuals stated above. Usually 2 minutes is enough for shutter operations.

In the following paragraphs, numbers starting with "0x" are hex values. Use an online converter to follow along or make your own "calculations". I will explain how enter your runtimes:

Parameter 0 will include both your up and down time. My Vera shows a current value of 6167 (which is a decimal number), check screenshot earlier. Inside the roller blind actor device the value is stored as hexadecimal number, which is 0x1817. The first part is "18", representing the runtime up and the second part is "17" representing the runtime down. These values are hex! 0x18 is 24s and 0x17 is 23s. So my "up" is 24s and my "down" is 23s.

Once you know what your desired up and down values are, you can "construct" your value for parameter one. As example for me I want to change to 25s up and 23s down. This would mean 0x19 up and 0x17 down. Combine "19"&"17" to get 0x1917 as new hex value for your parameter. We can convert this to 6423 as decimal number. In below picture I sent my new runtimes to the device with data type "2 byte hex" 0x1917 (in the Vera UI you don#t enter the leading 0x) and I get the desired value and behavior (25s up, 23s down).



You can also enter your runtime as a four digit decimal number with data type "2 byte dec" which works as below screenshot shows. In this example I used decimal 6168 which is 0x1818 which is "18" up and "18" down which is 24s up and 24s down.



Just make sure to use the correct "data type/size" for whatever you will decide which route to go. Vera will display the actual setpoint the device uses always as "decimal", so maybe it is better to use the decimal 2 byte variant to make sure the parameter is accepted.


 

Donnerstag, 15. April 2021

Technisat Szenenschalter 1 ( Technisat scene controller 1 with 4 buttons)

 Hi,

for everybody wondering how to include this device or what device handler to use and so on... I am using this device as a small remote for some lights with my Vera Lite. As the device was not readily in the list of a possbile "new device", I just added it as the HKZW-SCN04-V1.0 from Hank.

First, charge the "battery" all the way. Check the manual. Inclusion is via the center button, tripple click. 

It appears that most of the Technisat Z-wave products are just rebranded Hank devices, so using the appropriate settings and handlers like the original Hank device works just fine. As with all device inclusion on Vera Lite, I recommend doing it via the App, not the WebUI. 

In Vera, the buttons are mapped as per below image.



In the device options, there will be a menu where you can assign scenes to the different actions of buttons. Or you can use the remote as "trigger" when creating scenes in the scene editor. Whatever you do, stick with one version. Also, it is best to control devices or lights via scenes. It should be possible to link the remote directly to a device but I can't be bothered to set this up.

If you want to assign the function ON and OFF to let's say one button on the remote, say to "toggle" a light on or off depending if it is on or off already, there is a way to do this. You don'd need two buttons/scenes, one for ON, one for OFF. 

What we need, is to "toggle" the controlled device, which means "change to the other state" and not tell them what exact state to go to. To toggle a device in Vera Lite (or Ezlo ???), create a scene for this (best with manual trigger, if you assign this scene to the button) purpose. Go to the advanced editor and add an action, choose your device/light and there look for something called "toggle". Worked for me.







Fibaro Flood Sensor FGFS-101 Gen5 FW3.4 & Vera Lite

 Hi,

short post regarding the usage of Fibaro Floodsensor FGFS-101 with the Firmware 3.4 as per sticker on the PCB of the sensor. Adding them to an (old) Vera Lite z-wave hub was a pain until I figured out that it needs some manual work. My "old" Vera Lite is now I think over 7 years old, running okay most of the time with no problems or stability issues. I have a few roller shutters and lights. The Firmware of the Vera Lite is stuck at 1.7.1030 as I can't update to 1.7.1040 due to not enough storage. And I don't want to as everything works...

First, let me say that I recommend running these sensors with DC power supply. In battery mode they will die fast and are reported as "disconnected" in Vera. I don#t remember how I got them running the first time (when using battery) but today I tried to reconnect them and decided to use DC power instead of battery. One reason is the location in the cellar is far away from any other Z-Wave device which could relay their meassages and I have the feeling that with DC power they are more reliable. 

Anyway, changing them to DC power required to remove them (exclude) and then add (include) again. As there was no way to get them properly removed I had to delete them manually from Vera and exclude the devices manually as well. Once that was done, I wired them up properly as per manual and cut some small holes in the upper and lower shell to allow the cable to pass. Make them small, so the cable will be snug.

Then to the re-inclusion... Use the Vera App! Don´t use the web UI... Choose to add an "generic" Z-Wave device, connect the power to the FGFS-101, then advance in the wizard for inclusion until it asks for pressing the inclusion button on the "generic device". It is a quick triple click on the small tamper switch lever on the PCB. I did this while standing with the device in front of the Vera Lite, so I can see the inclusion LED stop blinking but nothing happened in the Vera App.... Try to start the inclusion (triple click) as soon as the 60s count down starts... The inclusion nearly takes 60s! Anyway, once triple clicked, don't worry (yet) if nothing happens. Once the countdown timer passed, the inclusion was still successful and the app (I am using iPhone app) asks for a name and a room for the "generic device". 

Back at the computer in the web UI you can see your new device along with a "_Temperature Sensor" which belongs to this FGFS-101. Give it a proper name.

You will see that the device in Vera shows up as Generic Device and not as sensor so it can't be used properly for scenes or alarms. This can be fixed by telling Vera Lite that this is actually a flood sensor. You will need to go into the settings of the "Generic Device", then "Advanced". In the "Params" (parameters) section there, you can make all the necessary changes. I did the following, I swapped the values for the generic device with flood sensor values:

  • device_file: D_FloodSensor1.xml
  • device_type: urn:schemas-micasaverde-com:device:FloodSensor:1
  • manufacturer: Fibaro
  • model: FGFS-101 Gen5
  • device_json: D_FloodSensorWithTamper1.json
  • category_num: 4
  • subcategory_num: 2
Thanks for the advise from amdokamal and mdg from this forum thread over at the official forum for the Vera Lite. My flood sensors now show up properly and work as expected.



Freitag, 26. Januar 2018

MásMóvil, their ZTE F680 and a Synology [now works, see update]

Hi there,

so today I got a nice neat new internet connection for my place. As I am currently living in Spain, I signed up for a fiber connection from MásMóvil, a big ISP here. They offer symetric GPON connections of up to 300MBit/s for as little as 40 EUR a month. I was super excited as I signed up for that. The technician came two days after signing the contract and pulled a fiber cable from my apartment to the distribution panel in the building. That all worked well. Internet is fast, as advertised.

As CPE they hand out a ZTE F680 unit with Gigabit LAN ports, a PON socket, some USB and phone stuff. Pretty standard. Wifi is to AC specs with advertised 1750 cpacity. Anyway, as soon as I removed my trusted LEDE router and put that white box in it's spot, I connected my ethernet devices, changed the wifi password, IP ranges, .... the usual stuff

Now comes the strange part. My XPenology seems to be able to get an IP from the DHCP but I am not able to ping it or connect to it. I tried multiple machines, different LAN ports, wifi network. I also gave it a manual IP address. No chance. As soon as I connect it back to the LEDE router I can access and use the NAS as usual. It seems like the ZTE doesn't like the XPenology N54L HP Microserver. I have found some other people complaining about this as well on a Spanish forum and it seems as there is a firmware bug in the ZTE which prevents the Synology to properly connect to the network. All packets seem to be dropped.

My temporary solution for now is that I am using my secondary LEDE router now as a common access point outting it on the same subnet as the ZTE router. The LEDE is the DHCP server handing out the IPs with the ZTE's IP as default gateway. That works and I can connect to my NAS from my other devices. If I hardwire myself (or connect to the ZTE wifi) I am not able to access the Synology device.

The firmware of the ZTE F680 is V4.0.10 P1T3 ( Hardware version 4.0 )and the XPenology is DM 5.0-4458 Update 2. I am not upgrading this as it stays in my home network only and is not connected to the outside world. Never change a running system ;-) So if you experience the same issue with the ZTE gateway, let me know. Maybe you have found a solution?

As my Spanish is not very good I will not bother with the support as they would probably have no idea anyway.

UPDATE:
My TP-Link Archer C7 died the last week and I was forced to use the ZTE CPE as Router again. Everything is working, the Synology works fine on the LAN ports. There has been some updates to the firmware of the ZTE, the current one now is:

Software VersionZTEGF6804P1T6
Boot Loader VersionV4.0.10
So they have fixed something since I tried it last time. Good enough!