Alternative Firmware für Tuya Hardware OPENBeken

Begonnen von DasQ, 09 März 2023, 09:48:49

Vorheriges Thema - Nächstes Thema

DasQ

Hi,

ich dachte mir, ich möchte euch über meine neuste entdeckung bezüglich "unhackbarer" Tuya hardware informieren.
ich hab mir vor ein paar tagen zwei steckdosenleisten der Marke Aofo (c733) gekauft, die seinerzeit recht einfach zu manipulieren war, als noch ESP8266 verbaut waren. Später wurde softwareseitig das manipulieren erschwert, man musste den ESP auslöten um ihn zu flashen.

Der Hersteller reagierte darauf, mit einer pinkompatiblen hardware änderung. den esp ersetzte ein CB2S von Tuya.
Nun haben findige entwickler, die tuya alternative Tasmota weiter entwickelt und ein eigenes projekt namens OPENBeken(app) entwickelt.
App wohl deshalb weil sie weit mehr chips unterstützt als den oben genannten cb2s.

laut homepage werden folgende chips unterstüzt und die palette wächst stetig weiter.
ZitatBK7231T (WB3S, WB2S, WB2L, etc)
    BK7231N (CB2S, CB2L, WB2L_M1, etc)
    T34 (T34 is based on BK7231N)
    BL2028N (BL2028N is a Belon version of BK7231N)
    XR809 (XR3, etc)
    BL602 (SM-028_V1.3 etc)
    W800 (W800-C400, WinnerMicro WiFi & Bluetooth), W801
    W600 (WinnerMicro chip), W601 (WIS600, ESP-01W, TW-02, TW-03, etc)

diese "firmware" unterstüzt bereits jetzt mehr als 200 geräte. von lampe bis zur smartsteckdose (wie meiner)

das flashen erfolgt mittels eigenem windows flasher und läuft erstaunlich easy und sauber.
das grundkonzept der firmware ist augenblicklich noch sehr "wirr" da ständig was neues hinzu kommt. teilweise täglich mehrere neue versionen.
das layout der beiden webif ist, naja etwas gewöhnungsbedürftig und unübersichtlich. dennoch teilweise intuitiv zu bedienen.
vieles scheint doppelt oder gar dreifach implementiert. da fehlt vielleicht etwas die erfahrung über sauberes styleguide.

aber ich kann es voll und ganz verstehen, warum da vieles so aussieht wie es aussieht, bei mir sähe es nicht anders aus. (sorry für meine rechtschreibfehler und mein deutsches camelcase ist auch unter aller ...)  ;D

naja es geht ja hier um die software/firmware. sie lohnt auf jeden fall einen blick drauf. viele bis jetzt "unhackbare" hardware, lässt sich hiermit vom nervigen "cloudzwang" befreien.

OPENBekenapp kann

OpenBeken features:

    Tasmota-like setup, configuration and experience on all supported platforms (supports common Tasmota JSON over http and MQTT, etc)
    OTA firmware upgrade system (for BK, W*00, BL602); to use OTA, drag and drop proper OTA file on OTA field on new Web App Javascript Console
    Online builds for all platforms via Github, also supports Docker builds
    MQTT compatibility with Home Assistant (with both Yaml generator and HA Discovery)
    Support for multiple relays, buttons, leds, inputs and PWMs, everything fully scriptable
    Driver system for custom peripherals, including TuyaMCU, I2C bus and BL0942, BL0937 power metering chips, Motor Driver Bridge.
    Supports multiple I2C devices, like TC74 temperature sensor, MCP23017 port expander, PCF8574T LCD 2x16 (or other?), etc
    NTP time from network (can be used with TH06 and other TuyaMCU devices), can run any script on selected weekday hour:minute:second
    basic support for TuyaMCU Battery Powered devices protocol (TuyaMCU enables WiFi module only to report the state, eg. for door sensors, water sensors)
    RGBCW LED lighting control compatible with Home Assistant (both PWM LEDs, SM2135 LEDs and BP5758 LEDs)
    LittleFS integration for large files (you can write scripts there, you can host a page there with REST interface control of device)
    Command line system for starting and configuring drivers, for controlling channels, etc
    Short startup command (up to 512 characters) storage in flash config, so you can easily init your drivers (eg. BL0942) without LittleFS
    Advanced scripting and events system (allows you to mirror Tasmota rules, for example catch button click, double click, hold)
    Easily configurable via commands (see tutorial)
    Thanks to keeping Tasmota standard, OBK has basic compatibility with ioBroker and similiar systems through TELE/STAT/CMND MQTT packets, Tasmota Control app is also supported
    DDP lighting protocol support ("startDriver DDP" in autoexec.bat/short startup command), works with xLights
    Automatic reconnect when WiFi network goes out
    and much more

hier noch ein paar links
https://github.com/openshwprojects/BK7231GUIFlashTool
https://github.com/openshwprojects/OpenBK7231T_App
https://www.elektroda.com/rtvforum/forum390.html
https://github.com/openshwprojects/OpenBK7231T_App/wiki/Wiki-Home
https://github.com/openshwprojects/OpenBK7231T_App/tree/main/docs


und noch zum schluss.

VORSICHT LEBENSGEFAHR!!!
(niemals unter spannung arbeiten, die hier ausgeführten arbeiten wurden von fachkundigen und elektriker ausgeführt und nach stand der technik überprüft)
(die steckdose schaltet bei falsch herum eingestecktem schutzkontaktstecker, nur den nullleiter weg, das ist grundsätzlich ganz normal aber sollte laut VDE so nicht sein)

also ich mußte den cb2s auslöten um ihn zu flaschen. er hängt per uart an einem tuyaMCU (ein STM8S003F3P6), die die eigentliche arbeit verrichtet.
cb2s und mcu unterhalten sich wohl über ein proprietäres protokoll. die mcu nimmt vom wlanchip befehle entgegen und sendet feedback zurück. das lässt sich auf der internen "console" mitloggen. aber da steig ich selber noch nicht ganz durch und werd mir die tage den quelltext einverleiben.
hier noch ein link zu meinem forums posting (nicht wundern über mein englisch, wenn man es nicht ständig nutzt, rostet es ein und ich hab viel von google übersetzten lassen, weil mein geschriebenes englisch noch schlimmer als mein deutsch ist)

Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

rob

Hi.

Vielen Dank fürs Teilen der Infos. Sehr interessant  8) 8). Ich habe sogar zwei RGB-Controller mit BL602 rumliegen und als Neuwarenschrott abgehakt, da kein Esp drauf. Auch einige Aubess 16A Unterputzaktoren mit BK7231N liegen hier neuwertig und bereit zum Kapauttbasteln  ;D
Vielleicht doch noch zu retten.

Zitat von: DasQ am 09 März 2023, 09:48:49
...das flashen erfolgt mittels eigenem windows flasher und läuft erstaunlich easy und sauber...
Mit welchem genau? Da werden x verschiedene Flash-Tools verlinkt und überall steht deprecated. Ich hab den BK7231N versucht zu flashen. Zunächst ein Dump mit bk_writer1.60.exe klappt. Flashen nicht. Dump mit BK7231Flasher.exe klappt auch, flashen wieder nicht. Flashen via python klappt auch nicht.
Welchen USB-UART-Adapter hast Du hergenommen?

Vielen Dank und beste Grüße
rob

DasQ

Hi,

Freut mich das ,,totgeglaubtes" neues Leben eingehaucht bekommt.

Das ist der Flasher von oben.


Zum konfigurieren der Dinger am einfachsten im Forum schauen und die ,,autoexec.bat" im ,,http : //ip/app -Fronten im filesystem ablegen und rebooten.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

rob

Danke Dir. Den Flasher hatte ich auch ausprobiert. Hab meinen Fehler aber nun entdeckt: Vcc muss fürs Flashen verbunden sein  ::)
Hatte mich auf die Anleitung aus diesen Beitrag verlassen: https://www.elektroda.com/rtvforum/topic3912748.html#20145042

Flashen hat nun geklappt, sogar trotz CP2102-Adapter. Die Einrichtung in FHEM via MQTT ist recht ähnlich zu Tasmota. Da wird Beta-User sich freuen, wenn neue Templates angefragt werden sollten  ;D

VG
rob

RappaSan

Das klingt vielversprechend und läßt hoffen.
Allerdings möchte ich Lampen nicht auseinandernehmen, um zum flashen an den Chip zu kommen.
Aber vielleicht geht das ja demnächst auch OTA. :)

Florian St.

Zitat von: RappaSan am 13 März 2023, 08:59:31
Das klingt vielversprechend und läßt hoffen.
Allerdings möchte ich Lampen nicht auseinandernehmen, um zum flashen an den Chip zu kommen.
Aber vielleicht geht das ja demnächst auch OTA. :)

Hallo
Das gibt es bereits. Habe soeben einen nigelnagelneuen Mini-Smart-Switch mit Openbeken OTA geflashed, mit dem "Nachfolger" von "Tuya Convert".
https://github.com/tuya-cloudcutter/tuya-cloudcutter
einen anderen älteren habe ich allerdings noch nicht geflashed bekommen, der weigert sich vehement.
Es gibt 10 Gruppen von Menschen: Die, die Binärcode verstehen und die, die ihn nicht verstehen.

Ich möchte gerne die Welt verändern, doch Gott gibt den Quelltext nicht frei.

RappaSan

Ich habe hier ein paar LEPRO Lampen:
https://www.amazon.de/gp/product/B08WZ4CSRQ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
Tatsächlich hat das flashen OTA funktioniert, das entsprechende device meldet sich auch an meinem MQTT2 Server.
Steuern ist aber bisher nicht möglich. Hat jemand einen Tip, welches template das richtige ist? Wie muß die Lampe selbst in ihrem Web-frontend konfiguriert werden?

DasQ

Versuch mal das template von BK7231T -> Lepro LE Wifi Smart LED Bulb

ansonsten ein log erstellen.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

RappaSan

Du meinst das von der Web-Oberfläche unter ...//app?
Das war das erste, das ich versucht hab.
Ansonsten: Welches Log meinst du?

DasQ

#9
genau auf der app seite, oben links auf log und da müsse was in der art erscheinen.aber mach mal zuerst alle configs rückgänig. (clearAll auf den konsole im log) danach ist aber auch die wlan konfig futsch, also ganz von vorn.

offen gehabt hast so ne birne noch nicht? was ist denn jetzt genau für ein chip drin?
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

DasQ

Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

RappaSan

Ohne BT.
Ist ein BK7231T.
Log kommt noch etwas später.

DasQ

Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

RappaSan

#13
War's wohl nicht, aber:
Ich habe eine kompatible gefunden - Moes Smart LED Light Bulb RGBCCT 5W...
Damit funzt alles. :)

OK, Nicht alles. Grün und Blau sind vertauscht.

Allodo

Ich habe eine LSC Smart Plug (Action, Firmware 2.0.1), eine LSC RGB Birne und Workzone Smart Plug (ALDI, Firmware 1.1.4). Diese wollte ich umflashen. Jedoch bekomme ich jedes Mal gesagt, dass das ausgewählte Profil nicht stimmen würde. Habe tuya-cloudcutter auf einem RPi3 laufen.

Für die LSC Steckdose habe ich den LSC Plug ausgewählt, da die Firmware von meinem nicht in der Liste auftaucht. Also habe ich mal eine andere Firmware versucht, mit demselben Ergebnis :(

Habe dann mal die Cloudcutter App installiert um einen Dumb zu erzeugen. Es wird auch eine Verbindung hergestellt, aber jedes Mal beim Druck auf "Read Flash" kommt "Error could not read package". Irgendwie komme ich da partout nicht weiter :(

Bin auch nicht ganz schlau daraus geworden bzgl. eines ESP8266 mit Tuya-Libre. Muss ich erst irgendein NodeMCU, Wemos D1 o.#. mit Tuya-Libre flashen für einen AP?

Vielleicht kann mir ja irgendjemand auf die Sprünge helfen :)

DasQ

kannst du sagen welche hardware (chips) verbaut sind?

cloudcutter funktioniert nur mit Beken chips.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Allodo

Leider kann ich nicht genau sagen, welcher Chip verbaut ist. Dafür müsste ich das Gehäuse öffnen und müsste es dabei zerstören.

Alle Geräte sollten aber Beken-Chips verbaut haben. Zumindest habe ich zu den Workzone Steckdosen (Antela F1s203-EU WiFi Smart Plug mit der OpenBK7231-Firmware) ein Tutorial gefunden, wo die Geräte per UART geflasht wurden. Bekomme aber das Gehäuse nicht geöffnet :(

Es gibt auch ein JSON-File für Antela F1s202-EU. Das funktioniert aber auch nicht :(

RappaSan

#17
Ich hatte auch erst Schwierigkeiten mit einem neuen Raspbian, hatte die neueste 64bit-Version frisch installiert.
Erst nachdem ich die "2022-04-04 build of Bullseye" in 32 bit neu auf den Pi3 geflasht habe und die restlichen Schritte punktgenau befolgt habe, hat's geklappt.
https://github.com/tuya-cloudcutter/tuya-cloudcutter/blob/main/HOST_SPECIFIC_INSTRUCTIONS.md

Allodo

Danke für den Link :)
Den hatte ich noch nicht gesehen. Werde morgen mal schauen, ob ich damit weiterkomme :)

rippi46

Hallo Mechlar,

Habe mir die gleiche Steckdosenleiste gekauft und geflasht. Hatte zuerst versuch mit einem Esp-02s auf Tasmota zu switchen, leider war der Esp-02s defekt oder ist beim Einbau und Betrieb zerstört worden. Mit dem Originalchip funktioniert die Steckdosenleiste dank deiner Vorarbeit. Hast du zufällig auch eine Konfiguration für fhem?

Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

DasQ

#20
Hi,

na klar kannst du meine konfig haben, allerdings hab ich die steckdose noch nicht wirklich im produktiv einsatz, weil das feedback und der zuverlässige schaltwille der steckdose, noch zu wünschen offen lassen. die anzeige zieht z.t. erst 60sekunden (mqtt retain) nach. das macht bei automatisierung keinen sinn.

ich hab eine der steckdosen aktuell immer noch offen, zu test zwecken einen wemos verbaut und experemtiere mit den tasmota template einstellungen. in openbekenapp ist das verarbeiten der tuyaMCU kommandos noch nicht sauber umgesetzt. auch ist der DpId 38 noch nicht implementiert.
allerdings hat das tasmotatemplate mehrere andere hacken, z.b. es wird ein analog wert (von 10 - 15) angezeigt, obwohl es den garnicht gibt. ::)
auch lässt in tasmota die funktionsweise noch wünsche offen. also in der original app, switcht beim betätigen einens hardware relais schalter (also einer der 4 button neben jeder dose) den status des "all" switch in der App von off nach on. so das bei betätigen des hauptschalters, erstmal alles off geht. was wiederum zu der ungereimtheit führt, das "usb" off ist, obwohl der hauptschalter on ist, der eigentlich usb mit steuert. da wird also explizit die LED angesteuert und nicht irgend eine hartwareseitige schaltlogik verwendet, das ist eindeutig software.
hier werden die signale ver MCU noch nicht richtig ausgewertet. also sowohl in tasmota als auch in openbeken.

hier mal meine Fhem konfig "raw" (die readings kann man noch gehörig ausmisten)
defmod MQTT2_obkFF68206C MQTT2_DEVICE obkFF68206C
attr MQTT2_obkFF68206C devStateIcon online:10px-kreis-gruen offline:10px-kreis-rot 1.ON:ON:POWER1+OFF 1.OFF:OFF:POWER1+ON 2.ON:ON:POWER2+OFF 2.OFF:OFF:POWER2+ON 3.ON:ON:POWER3+OFF 3.OFF:OFF:POWER3+ON 4.ON:ON:POWER4+OFF 4.OFF:OFF:POWER4+ON 5.ON:ON:POWER5+OFF 5.OFF:OFF:POWER5+ON 6.ON:ON:POWER6+OFF 6.OFF:OFF:POWER6+ON 7.ON:ON:POWER7+OFF 7.OFF:OFF:POWER7+ON
attr MQTT2_obkFF68206C genericDeviceType switch
attr MQTT2_obkFF68206C icon hue_filled_outlet
attr MQTT2_obkFF68206C jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 POWER5:0 POWER6:0 POWER7:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 Channel_5:0 Channel_6:0 Channel_7:0
attr MQTT2_obkFF68206C model tasmota_4ch_unified_icon
attr MQTT2_obkFF68206C readingList obkFF68206C:obkFF68206C/5/get:.* obkFF68206C_5_get\
obkFF68206C:obkFF68206C/1/get:.* obkFF68206C_1_get\
obkFF68206C:obkFF68206C/2/get:.* obkFF68206C_2_get\
obkFF68206C:obkFF68206C/3/get:.* obkFF68206C_3_get\
obkFF68206C:obkFF68206C/4/get:.* obkFF68206C_4_get\
obkFF68206C:stat/obkFF68206C/RESULT:.* { json2nameValue($EVENT) }\
obkFF68206C:obkFF68206C/6/get:.* obkFF68206C_6_get\
obkFF68206C:obkFF68206C/connected:.* connected\
obkFF68206C:obkFF68206C/host:.* host\
obkFF68206C:obkFF68206C/build:.* build\
obkFF68206C:obkFF68206C/mac:.* mac\
obkFF68206C:obkFF68206C/sockets:.* sockets\
obkFF68206C:obkFF68206C/rssi:.* rssi\
obkFF68206C:obkFF68206C/uptime:.* uptime\
obkFF68206C:obkFF68206C/freeheap:.* freeheap\
obkFF68206C:obkFF68206C/ip:.* ip\
obkFF68206C:obkFF68206C/7/get:.* obkFF68206C_7_get\
obkFF68206C:tele/obkFF68206C/STATE:.* { json2nameValue($EVENT) }\
obkFF68206C:obkFF68206C/8/get:.* obkFF68206C_8_get\
obkFF68206C:obkFF68206C/datetime:.* datetime\
obkFF68206C:obkFF68206C/20/get:.* obkFF68206C_20_get
attr MQTT2_obkFF68206C room Lukas
attr MQTT2_obkFF68206C setList POWER1:ON,OFF,toggle cmnd/obkFF68206C/POWER1 $EVTPART1\
  POWER2:ON,OFF,toggle cmnd/obkFF68206C/POWER2 $EVTPART1\
  POWER3:ON,OFF,toggle cmnd/obkFF68206C/POWER3 $EVTPART1\
  POWER4:ON,OFF,toggle cmnd/obkFF68206C/POWER4 $EVTPART1\
  POWER5:ON,OFF cmnd/obkFF68206C/POWER5 $EVTPART1\
  POWER6:ON,OFF cmnd/obkFF68206C/POWER6 $EVTPART1\
  POWER7:ON,OFF,toggle cmnd/obkFF68206C/POWER7 $EVTPART1
attr MQTT2_obkFF68206C setStateList on off toggle
attr MQTT2_obkFF68206C stateFormat <a href="http://ip" target="_blank">\
connected\
</a>\
<br>\
1:POWER1\
2:POWER2\
3:POWER3\
4:POWER4\
5:POWER5\
6:POWER6\
7:POWER7

setstate MQTT2_obkFF68206C <a href="http://192.168.1.122" target="_blank">\
online\
</a>\
<br>\
1:OFF\
2:OFF\
3:OFF\
4:OFF\
5:OFF\
6:ON\
7:ON

und hier noch die dazu gehörende autoexec.bat von openbeken

startDriver TuyaMCU
startDriver NTP

setChannelType 1 toggle
setChannelLabel 1 "R 1"
setChannelType 2 toggle
setChannelLabel 2 "R 2"
setChannelType 3 toggle
setChannelLabel 3 "R 3"
setChannelType 4 toggle
setChannelLabel 4 "R 4"
setChannelType 5 toggle
setChannelLabel 5 "All R"
setChannelType 6 toggle
setChannelLabel 6 "All"
setChannelType 7 toggle
setChannelLabel 7 "USB"
//setChannelType 20 toggle
//setChannelLabel 20 "ALL"

// channel 2, dpId 9, dataType 4-DP_TYPE_ENUM = set timer
//setChannelType 8 TextField
//linkTuyaMCUOutputToChannel 9 2 8

linkTuyaMCUOutputToChannel 1 1 1
linkTuyaMCUOutputToChannel 2 1 2
linkTuyaMCUOutputToChannel 3 1 3
linkTuyaMCUOutputToChannel 4 1 4
linkTuyaMCUOutputToChannel 7 1 7
// link our channel 6 to the 38 dpId
// syntax is: [dpId][varType][channelID]
//linkTuyaMCUOutputToChannel 38 1 20

alias set_all_relays_on backlog setChannel 1 1; setChannel 2 1; setChannel 3 1; setChannel 4 1;
alias set_all_relays_off backlog setChannel 1 0; setChannel 2 0; setChannel 3 0; setChannel 4 0;
alias myRelaysToggle if $CH1||$CH2||$CH3||$CH4 then set_all_relays_off else set_all_relays_on

alias set_all_on backlog setChannel 1 1; setChannel 2 1; setChannel 3 1; setChannel 4 1; setChannel 7 1;
alias set_all_off backlog setChannel 1 0; setChannel 2 0; setChannel 3 0; setChannel 4 0; setChannel 7 0;
alias myToggle if $CH1||$CH2||$CH3||$CH4 then set_all_off else set_all_on

addEventHandler OnChannelChange 5 myRelaysToggle
addEventHandler OnChannelChange 6 myToggle



fehler in der config ist nach wie vor, das die stati von "all relais" und "all" (inkls usb) nicht gleich ziehen. sprich die schalterstellung ist uneindeutig.
auch ist es ein problem, das die steckdose bei den beiden kommandos, derart viel mqtt telegramme raus haut, das die verbindung zum server kurzzeitig abbricht.

für mich stellt das augenblick kein problem dar, denn ich mach die sache ja des bastelns wegen.

ich hoff ich konnte dir vorerst helfen.

gruß andy :)
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

rippi46

Hallo Andy,

Danke für deine Konfiguration. Funktioniert eigentlich ganz gut, solange ich nur von Fhem aus agiere. Sobald ich aber auf der Weboberfläche von der Steckerleiste schalte kommen die MQTT-Nachrichten nich immer an

Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

rippi46

Hallo,

damit ich jede einzelne Dose der Steckerleiste mit Alexa ansprechen kann habe ich die Definition nur für eine Dose gemacht

hier noch die RAW-Daten:

define Switch1 MQTT2_DEVICE obkFF29E338
attr Switch1 autocreate 0
attr Switch1 comment gehört zur 4-fach Steckerleist
attr Switch1 devStateIcon online:10px-kreis-gruen offline:10px-kreis-rot 1.ON:ON:POWER1+OFF 1.OFF:OFF:POWER1+ON
attr Switch1 genericDeviceType switch
attr Switch1 icon hue_filled_outlet
attr Switch1 jsonMap POWER1:0 Channel_0:0 HSBColor:0 Color:0
attr Switch1 model tasmota_basic_state_power1
attr Switch1 readingList obkFF29E338:obkFF29E338/connected:.* connected\
obkFF29E338:obkFF29E338/host:.* host\
obkFF29E338:obkFF29E338/build:.* build\
obkFF29E338:obkFF29E338/mac:.* mac\
obkFF29E338:obkFF29E338/sockets:.* sockets\
obkFF29E338:obkFF29E338/rssi:.* rssi\
obkFF29E338:obkFF29E338/uptime:.* uptime\
obkFF29E338:obkFF29E338/freeheap:.* freeheap\
obkFF29E338:obkFF29E338/ip:.* ip\
obkFF29E338:obkFF29E338/1/get:.* obkFF29E338_1_get\
obkFF29E338:obkFF29E338/datetime:.* datetime\
obkFF29E338:stat/obkFF29E338/RESULT:.* { json2nameValue($EVENT) }
attr Switch1 setList POWER1:ON,OFF,toggle cmnd/obkFF29E338/POWER1 $EVTPART1
attr Switch1 setStateList on off toggle
attr Switch1 stateFormat <a href="http://ip" target="_blank">\
connected\
</a>\
<br>\
1:POWER1
#   CFGFN     
#   CID        obkFF29E338
#   DEF        obkFF29E338
#   FUUID      641c21e8-f33f-9198-af07-edd082f715a267fc
#   IODev      mqtt2
#   LASTInputDev mqtt2
#   MSGCNT     8
#   NAME       Switch1
#   NR         115220
#   STATE      <a href="http://ip" target="_blank">
#connected
#</a>
#<br>
#1:OFF
#   TYPE       MQTT2_DEVICE
#   eventCount 16
#   mqtt2_CONN mqtt2_192.168.178.108_62643
#   mqtt2_MSGCNT 8
#   mqtt2_TIME 2023-03-23 11:12:51
#   JSONMAP:
#     Channel_0  0
#     Color      0
#     HSBColor   0
#     POWER1     0
#   OLDREADINGS:
#   READINGS:
#     2023-03-23 10:54:48   IODev           mqtt2
#     2023-03-23 11:12:51   POWER1          OFF
#     2023-03-23 11:12:51   POWER2          OFF
#     2023-03-23 11:12:51   POWER3          OFF
#     2023-03-23 11:12:51   POWER4          OFF
#     2023-03-23 11:12:51   POWER5          OFF
#     2023-03-23 11:12:51   POWER6          OFF
#     2023-03-23 11:12:51   POWER7          OFF
#     2023-03-23 10:59:09   attrTemplateVersion 20210523
#     2023-03-23 11:12:51   obkFF29E338_1_get 0
#     2023-03-23 11:00:11   state           set_off
#   hmccu:
#
setstate Switch1 <a href="http://ip" target="_blank">\
connected\
</a>\
<br>\
1:OFF
setstate Switch1 2023-03-23 10:54:48 IODev mqtt2
setstate Switch1 2023-03-23 11:12:51 POWER1 OFF
setstate Switch1 2023-03-23 11:12:51 POWER2 OFF
setstate Switch1 2023-03-23 11:12:51 POWER3 OFF
setstate Switch1 2023-03-23 11:12:51 POWER4 OFF
setstate Switch1 2023-03-23 11:12:51 POWER5 OFF
setstate Switch1 2023-03-23 11:12:51 POWER6 OFF
setstate Switch1 2023-03-23 11:12:51 POWER7 OFF
setstate Switch1 2023-03-23 10:59:09 attrTemplateVersion 20210523
setstate Switch1 2023-03-23 11:12:51 obkFF29E338_1_get 0
setstate Switch1 2023-03-23 11:00:11 state set_off


Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

DasQ

Also so wie es aussieht, kann die Steckdose doch viel mehr als bis jetzt reengineered wurde.

Z.b. Bluetooth hat der cb2s inkls.

Hab jetzt wieder eine originale Firmware geflasht und sniffe die gerade fleißig mit. Wärend ich tuya Developer Manuale les.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

rippi46

ZitatHabe jetzt wieder eine originale Firmware geflasht und sniffe die gerade fleißig mit. Wärend ich tuya Developer Manuale les.

Kannst du in der Schaltung flashen oder lötest du den BK7231N immer aus und wieder ein?

Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

DasQ

so jetzt hab ich versehentlich das letzte post gelöscht.

also ich hab den chip entwicklerfreundlich ausgeplanzt und mit lackdraht und steckbrett verbunden.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

RappaSan

Ich vermisse noch die Möglichkeit, Konfigurationen zu sichern und/oder auf andere devices zu übertragen.
Das würde die Einrichtung erheblich beschleunigen.

DasQ

Also das geht doch relativ easy mit der aufoexec.bat

Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

RappaSan

Ja, schon richtig.
Bin von Tasmota durch die "Konfiguration sichern" Schaltfläche verwöhnt. ;)

RappaSan

#29
Ich hab mal für die Lepro GU10-Lampe ein Basis-Template zusammengestellt, vielleicht kann wer damit etwas anfangen.

Edit: Template geändert.

RappaSan

Tasmota-Geräte auf den neuesten Firmwarestand zu bringen ist ja einfach:
upgrade:noArg   cmnd/"DEVICENAME"/upgrade 1 in setList eintragen, und schon hat man das Kommando zur Verfügung.

Bei OpenBeken fehlt so etwas bisher,
Hat wer eine Idee, wie man das komfortabel erledigt?
Einen eigenen Webserver möchte ich dafür nicht aufsetzen...

DasQ

#31
Leider nein.

Aber ich steh jetzt mit dem Entwickler in direkten Kontakt, ich kann ihn mal darauf anhauen.

Allerdings ist der schwer beschäftigt und kann jede Unterstützung brauchen.
Da sinnigerweise die Steckdosen von mir, scheinbar doch komplexer sind durch den erweiterten befehlssatz in der tuyaMCU hab ich jetzt die ersten beiden steckdosenleisten nochmals Hardware gemoddet auf esp8285 um zum einen zu sehen wie das tasmota händelt (da ist auch noch ein fetter Fehler drin) und zum andern um die Dosen zu nutzen.

Hab dann noch eine dritte Steckdose besorgt um nur daran zu basteln. (Ohne Zeitdruck)


Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

RappaSan

Schwer beschäftigt ist mir auch schon aufgefalllen. :)
Die Veröffentlichungsdauer von updates ist ja atemberaubend.

RappaSan

Noch eins fiel mir auf:
Bei Tasmota wird der Schaltzustand nahezu direkt an den MQTT-Server weitergereicht, so daß dieser im FHEM sichtbar wird. Dies geschieht sowohl beim Schalten über die Weboberfläche des devices als auch über den eingerichteten MQTT-client.
In OpenBeken ist das etwas anders:
Wenn ich über die Weboberfläche des devices schalte, kommt der geänderte Zustand erst spät in FHEM an, beim Schalten per MQTT-client über FHEM schon nach ca. 1 Sekunde.

RappaSan

Ich hab weiter an dem Template für die Lepro-RGBCW Lampe herumgeschraubt.
Mittlerweile läuft alles soweit rund.

DasQ

Das Problem mit der MQTT Verzögerung ist mir auch schon aufgefallen. Aber da bin ich schon dran, nur will ich den Entwickler nicht zusehr mit Fehlern zubomben.

Wenn ich etwas Zeit finde zieh ich mir den Quelltext rein und wurschtel mit.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

RappaSan

#36
Den Schaltzustand der Lampen bekomme ich mittlerweile zeitnah mit:
DEVICE/led_enableAll/get:.* (siehe mein template).
Ich lenke den Zustand auf "leds" und werte das Ganze dann weiter aus.
Damit funktioniert der Schaltzustand auf der Weboberfläche und in FHEM bidirektional ohne große Verzögerung.

DasQ

Bei der Steckdose von mir ist das etwas anders, da feuern bei betätigen vom ,,all" Button 6 mqtt Telegramme gleichzeitig bis die Connection zusammen bricht.

Da hab ich schon die wildesten schaltzustände mit produziert ... random
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

denis.robel

Ich habe auch einige Stecker (LSPA9) erfolgreich mit tuya-cloudcutter von der China Cloud befreit.

Es wäre gut, wenn wir hier funktionierende MQTT Templates dazu veröffentliche könnten:

mqtt2.template: Contributing
VG

Denis

denis.robel

Ich habe gerade ein Tuya IR-Gateway mit cloud-cutter an den Start gebracht.
Das Teil funktioniert und ich kann senden und empfangen. 

IR-Gateway
VG

Denis

denis.robel

Zitat von: RappaSan am 12 April 2023, 19:24:48Den Schaltzustand der Lampen bekomme ich mittlerweile zeitnah mit:
DEVICE/led_enableAll/get:.* (siehe mein template).
Ich lenke den Zustand auf "leds" und werte das Ganze dann weiter aus.
Damit funktioniert der Schaltzustand auf der Weboberfläche und in FHEM bidirektuiional ohne große Verzögerung.

@RappaSan Könntest Du das bitte näher erklären bzw. das RAW Device posten?
VG

Denis

RappaSan

Hier mal ein listing der internals:
Internals:
   CFGFN      ./FHEM/MQTT-2.cfg
   CID        LT4
   DEF        LT4
   FUUID      64282bbc-f33f-d006-a192-58261a7de8a1baba
   IODev      MyBroker
   LASTInputDev MyBroker
   MSGCNT     62727
   MyBroker_CONN MyBroker_192.168.0.164_65122
   MyBroker_MSGCNT 62727
   MyBroker_TIME 2023-12-04 18:35:40
   NAME       LT4
   NR         204
   STATE      off
   TYPE       MQTT2_DEVICE
   eventCount 16339
   READINGS:
     2023-12-01 18:53:08   B_Color         FFFFFF
     2023-12-04 18:35:39   CT              389
     2023-12-04 18:34:08   Channel_1       0
     2023-12-04 18:34:08   Channel_2       0
     2023-12-04 18:34:08   Channel_3       0
     2023-12-04 18:34:08   Color           0,0,0,0,0
     2023-12-04 18:35:40   Dimmer          25
     2023-12-04 18:34:08   Fade            OFF
     2023-12-04 17:04:30   FinalColor      0000000000
     2023-12-01 18:53:08   FinalColorRGB   000000
     2023-12-04 18:34:08   HSBColor        0,0,100
     2023-12-04 18:34:08   Heap            25
     2023-12-01 10:40:55   IODev           MyBroker
     2023-12-01 18:42:01   LWT             online
     2023-12-04 18:34:08   LedTable        ON
     2023-12-04 18:34:08   LoadAvg         99
     2023-12-04 18:34:08   MqttCount       23
     2023-12-04 18:34:08   POWER           OFF
     2023-12-04 18:34:08   Sleep           10
     2023-12-04 18:34:08   SleepMode       Dynamic
     2023-12-04 18:34:08   Speed           1
     2023-12-04 18:34:08   Time            1970-01-01T00:00:00
     2023-12-04 18:34:08   Uptime          2T23:52:18
     2023-12-04 18:34:08   UptimeSec       258738
     2023-12-04 18:34:08   Wifi_AP         1
     2023-12-04 18:34:08   Wifi_BSSId      30:B5:C2:5D:70:72
     2023-12-04 18:34:08   Wifi_Channel    11
     2023-12-04 18:34:08   Wifi_Downtime   0T06:13:34
     2023-12-04 18:34:08   Wifi_LinkCount  21
     2023-12-04 18:34:08   Wifi_Mode       11n
     2023-12-04 18:34:08   Wifi_RSSI       76
     2023-12-04 18:34:08   Wifi_SSId       RAT01
     2023-12-04 18:34:08   Wifi_Signal     -62
     2023-04-20 14:51:43   attrTemplateVersion 20230412
     2023-12-01 18:42:03   build           Build on Nov 13 2023 14:24:59 version 1.17.308
     2023-12-04 18:35:36   freeheap        83216
     2023-12-01 18:42:02   host            LT4
     2023-12-04 18:35:37   ip              192.168.0.164
     2023-12-04 18:35:38   leds            0
     2023-12-01 18:42:04   mac             84:e3:42:9b:6a:82
     2023-12-04 18:35:34   rssi            -61
     2023-12-04 18:35:33   sockets         4
     2023-12-04 18:35:35   state           off
     2023-12-01 10:41:41   subscriptions   LT4/+/get LT4/+/set bekens4/+/set cmnd/LT4/+ cmnd/bekens4/+ stat/LT4/+ tele/LT4/+
     2023-12-04 18:35:35   uptime          258824
Attributes:
   autocreate 0
   devStateIcon on:rc_GREEN:off off:rc_RED:on offline:rc_BLUE:off
   event-on-change-reading .*
   icon       hue_filled_gu10
   model      OpnBeken_RGBCW
   readingList LT4/connected:.* LWT
  LT4/host:.* host
  LT4/build:.* build
  LT4/mac:.* mac
  LT4/sockets:.* sockets
  LT4/rssi:.* rssi
  LT4/uptime:.* uptime
  LT4/freeheap:.* freeheap
  LT4/ip:.* ip
  LT4/led_enableAll/get:.* leds
  LT4/led_temperature/get:.* CT
  LT4/led_dimmer/get:.* Dimmer
  LT4/led_finalcolor_rgbcw/get:.* FinalColor
  stat/LT4/RESULT:.* { json2nameValue($EVENT) }
  LT4/led_basecolor_rgb/get:.* B_Color
  tele/LT4/STATE:.* { json2nameValue($EVENT) }
  LT4/led_finalcolor_rgb/get:.* FinalColorRGB
   room       Keller,MQTT2_GERÄTE
   setList    off:    cmnd/LT4/Power Off
  on:     cmnd/LT4/Power On
  toggle: cmnd/LT4/Power Toggle
  Dimmer:colorpicker,BRI,0,1,100 cmnd/LT4/Dimmer
  B_Color:colorpicker,RGB cmnd/LT4/led_basecolor_rgb
  CT:colorpicker,CT,154,1,500 cmnd/LT4/Led_temperature
   stateFormat {ReadingsVal($name,"LWT","offline") eq "offline" ? "offline" : ReadingsVal($name,"state","") eq "" ? "offline" : ReadingsVal($name,"state","")}
   userReadings state:.* { (ReadingsVal($name,'leds','none') eq 0 ? 'off' : 'on') }
   webCmd     on:off:toggle
Hilft dir das weiter?

rob

Hallo zusammen.

Wünsche allen ein frohes und gesundes neues Jahr :)

Falls es jmd. brauchen kann: die Beken-Dinger wie BK7231n etc. werden auch durch Platform IO und damit u.a. mit ESPHome unterstützt. https://esphome.io/components/libretiny und https://docs.libretiny.eu/docs/flashing/esphome/.
Bin darauf gestoßen, weil mein Qubino Unterputzthermostat (ZMNHID1) mal wieder Alzheimer hatte und ich keine ähnlichen Alternativen mit Zigbee oder Wifi finden konnte.
So konnte ich den bereits "erlösten" Aubess 16A Aktor + DS18B20 mit ESPHome in ein Unterputzthermostat verwandeln. Anbei die yaml-Datei dafür. Der DS18B20 ist am Schraubanschluss S2 und S1 angeschlossen (parasitär), wo eigentl. ein Taster hinkommt.

Viele Grüße
rob