Ist gelöst. Ich mußte mit Setoption73 1 die Buttons von (nicht vorhandenen) Relays lösen, damit Tasmota nur MQTT-Nachrichten sendet. Seitdem funktioniert es mit obigem Trigger in Rollos_OG_Schlitz
Beiträge von Uchristo
-
-
Korrespondierender Thread im Home-Assistant-Forum:
Tasmota on Shelly i4 button_short_press vs button_long_pressHi there! I’m controlling all my shutters (grouped by an helper) in HA using buttons on a shelly plus i4 with tasmota but am stuck on achieving a long press…community.home-assistant.io
Hallo zusammen,ich habe ein Problem mit einem Shelly Plus i4 (mit Tasmota 13.4). Ich habe an dem Shelly 4 Buttons eingerichtet, die im Switchmode 6 laufen. Setoption32 steht auf 10, also sendet der Shelly nach 1 Sekunde "Button festhalten" einen HOLD anstelle eines TOGGLE.
Mein Problem: Der Home-Assistant bekommt den TOGGLE per MQTT mit, den HOLD irgendwie nicht:
06:22:14.112 MQT: stat/tasmota_790E48/RESULT = {“Switch2”:{“Action”:“TOGGLE”}}
06:22:17.124 MQT: stat/tasmota_790E48/RESULT = {“Switch2”:{“Action”:“HOLD”}}Woran kann das liegen?
das YAML für TOGGLE:
alias: OG runter
description: “”
trigger:- platform: device
domain: tasmota
device_id: 1d0f863041b298e32b89e307e083acf4
type: button_short_press
subtype: switch_2
discovery_id: D48AFC790E48_switch_2_TOGGLE
condition:
action: - service: cover.close_cover
target:
entity_id: cover.rollos_og
data: {}
mode: single
und das nicht funktionierende YAML für HOLD:
alias: Rollos_OG_Schlitz
description: “”
trigger:- platform: device
domain: tasmota
device_id: 1d0f863041b298e32b89e307e083acf4
type: button_long_press
subtype: switch_2
discovery_id: D48AFC790E48_switch_2_HOLD
condition:
action: - service: cover.set_cover_position
target:
entity_id:
- cover.rollos_og
data:
position: 10
mode: single
- platform: device
-
Du kopierst zu viel

Für ein 2MB bin musst nur in der Initiative das 1 durch 2 ersetzen und ich verwende immer die dev. Version.
Was genau meinst Du mit "initiative"? Ich steh aufm Schlauch
in der platformio.ini
board_build.ldscript = eagle.flash.1m.ld
nachboard_build.ldscript = eagle.flash.2m.ld
ändern?
-
-
Ich hab jetzt aus Faulheit den Tasmo-Compiler (TasmoCompiler - Tasmota Compiler - Online eigene .bin erstellen) gestartet, aber der bietet mir unten bei den Boards auch nur 1M oder 4M-Boards an.
Habe mir jetzt das das Tasmota-Repo per git clone gezogen und mache meine ersten Schritte mit `platformio run -e <XXXX>`
Wenn ich das alles richtig deute, muß ich die Shutter+2M-Variante in der
platformio.ini:
tasmota-DE (auskommentiert)
board_build.ldscript = eagle.flash.2m256.ldUSE_SHUTTER ist in der BUILDS.md für das Ziel "tasmota" ja bereits aktiv, wenn ich das richtig sehe
Aber trotzdem ist beim Kompilieren dann nur 1M aktiv:
Code
Alles anzeigenuwe@raspberrypi:~/Tasmota $ platformio run -e tasmota-DE Python 2 and Python 3.5 are not compatible with PlatformIO Core 5.0. Please check the migration guide on how to fix this warning message: https://docs.platformio.org/en/latest/core/migration.html#drop-support-for-python-2-and-3-5 Processing tasmota-DE (platform: espressif8266 @ 2.6.2; framework: arduino; board: esp01_1m) ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp01_1m.html PLATFORM: Espressif 8266 (2.6.2) > Espressif Generic ESP8266 ESP-01 1M HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash PACKAGES: - framework-arduinoespressif8266 2.7.4+9 - tool-esptool 1.413.0 (4.13) - tool-esptoolpy 1.30000.201119 (3.0.0) - toolchain-xtensa 2.40802.200502 (4.8.2) Converting tasmota.ino LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 79 compatible libraries EDIT2: Und ich wurde soeben darauf hingewiesen, von der platformio.ini die Finger zu lassen und das in die useroveride einzutragen...EDIT3: Ich habe nun die platformio_override_sample.ini nach platformio_override.ini kopiert und
unter [common] die Zeile 59
board_build.ldscript = eagle.flash.2m256.ld einkommentiert
Wenn ich dann via "platformio run" den Vorgang starte, ignoriert er das scheinbar und haut trotzdem in den Sack:
Code
Alles anzeigen|-- <cc1101> (/home/uwe/Tasmota/lib/lib_rf/cc1101) | |-- <SPI> 1.0 (/home/uwe/.platformio/packages/framework-arduinoespressif8266/libraries/SPI) Building in release mode *** use provided user_config_override.h as planned *** File "/home/uwe/Tasmota/pio-tools/download_fs.py", line 47 return f"FS type {self.fs_type} Start {hex(self.start)} Len {self.length} Page size {self.pag e_size} Block size {self.block_size}" ^ SyntaxError: invalid syntax ================================== [FAILED] Took 63.33 seconds ================================== Environment Status Duration ------------------ -------- ------------ tasmota FAILED 00:01:03.334 tasmota-minimal IGNORED tasmota-lite IGNOREDEDIT 4: auch ohne tasmota/user_config_override.h und ./platformio_override.ini kommt der Fehler mit dem Syntax-Error. Die Datei
habe ich nicht angefasst (mein git bestätigt das)
-
-
-
-
Frei nach Helge Schneider: I brake together!
https://github.com/arendst/Tasmota/releases/
"Releasenotes für 9.2.0:
Fixed
Shutter motordelay stop issue #10033
"
Das probiere ich doch mal aus.... es klingt jedenfalls relativ ähnlich.
Update: 9.2.0. ist drauf. Aber eine Frage..... vorher hatte ich die 9.1.0 "-DE" drauf. Die 9.2.0-DE konnte ich nicht hochladen, wegen "Upload Miscompare". Mußte jetzt das OTA-Update machen und alles ist auf englisch?
-
Gelöscht, ja, dann geschrieben:
./esptool.py --port /dev/ttyAMA0 erase_flash
./esptool.py --port /dev/ttyAMA0 write_flash -fm dout 0x0 ../tasmota-DE.b in
Habe das am Pi2 mit separater 3,3V-Versorgung gemacht mit diesem File:
root@raspberrypi:/home/uwe/esptool# md5sum ../tasmota-DE.bin
8a238183b1f0aca9ff910e8aee9d49a4 ../tasmota-DE.bin
root@raspberrypi:/home/uwe/esptool#
-
So.... ich hab die setoption32 1 noch mal neu reingetackert, da ich abseits des binären Config-Dumps leider keine Möglichkeit gesehen habe, die Config zu sehen. Danach habe ich um 11:55:51 einmal für ~1 Sekunde den Switch2 auf ON gestellt (Also: Abfahrt). Anschließend habe ich den Konsolen-Output rauskopiert:
Code
Alles anzeigen11:55:44 CMD: setoption32 1 11:55:44 SRC: WebConsole from 192.168.151.181 11:55:44 CMD: Gruppe 0, Index 32, Befehl "SETOPTION", Daten "1" 11:55:44 RSL: RESULT = {"SetOption32":1} 11:55:45 CFG: in Flash gespeichert am F8, zählen 500, Bytes 4096 11:55:45 ADE: 6163774, 4474, [1773, -43, 651, 9], [1773, -15, 651, 10] 11:55:45 ADE: U 6163774, C 4474, I 0 + 0 = 0, P 0 + 0 = 0 11:55:46 ADE: 6159779, 4473, [1773, -17, 650, 15], [1773, 5, 650, 4] 11:55:46 ADE: U 6159779, C 4473, I 0 + 0 = 0, P 0 + 0 = 0 11:55:47 ADE: 6161816, 4474, [1773, 20, 651, 90], [1773, -31, 651, 1] 11:55:47 ADE: U 6161816, C 4474, I 0 + 0 = 0, P 0 + 0 = 0 11:55:48 ADE: 6161766, 4473, [1773, -11, 651, 28], [1773, 13, 651, 6] 11:55:48 ADE: U 6161766, C 4473, I 0 + 0 = 0, P 0 + 0 = 0 11:55:49 ADE: 6159696, 4474, [1773, -27, 650, 31], [1773, -18, 650, 33] 11:55:49 ADE: U 6159696, C 4474, I 0 + 0 = 0, P 0 + 0 = 0 11:55:50 SHT: time: 6, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 289468, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:50 SHT: time: 7, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 288449, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:50 SHT: time: 8, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 287430, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:50 SHT: time: 9, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 286411, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:50 SHT: time: 11, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 284373, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 12, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 283354, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 13, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 282335, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 14, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 281316, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 CFG: in Flash gespeichert am F7, zählen 501, Bytes 4096 11:55:51 SHT: time: 15, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 280297, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 16, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 279278, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 17, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 278259, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 18, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 277240, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 19, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 276221, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: Shutter 1 Real 276221, Start 294563, Stop 0, Dir -1, Delay 0, Rtc 0.95 [s], Freq 0, PWM 0 11:55:51 RSL: RESULT = {"Shutter1":{"Position":87,"Direction":-1,"Target":0}} 11:55:51 ADE: 6151367, 4474, [1773, -58, 649, 57], [65802, 23884, 24132, 3096] 11:55:51 ADE: U 6151367, C 4474, I 0 + 65802 = 65802, P 0 + 23884 = 23884 11:55:51 SHT: time: 20, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 275202, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 21, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 274183, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 23, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 272145, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 24, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 271126, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 25, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 270107, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SHT: time: 26, toBeAcc 0, current_stop_way 0,vel_cur 0, vel_max 0, act_vel_change 1000, min_runtime_ms 0, act.pos 269088, next_stop 0, target: 0, max_vel_change 0, dir: -1 11:55:51 SRC: Switch 11:55:51 SHT: Switched relay: 2 by Switch 11:55:51 SHT: Shutter 1: source: Switch, powerstate_local 0, ShutterGlobal.RelayCurrentMask 2, manual change 1 11:55:51 SHT: Stop Shutter 0. Switchmode 0 11:55:52 SHT: Shutter 1: Target: 266031, powerstatelocal 0 11:55:52 RSL: RESULT = {"POWER2":"OFF"} 11:55:52 RSL: POWER2 = OFF 11:55:52 ADE: 6155753, 4474, [1773, -26, 650, 47], [56497, 21257, 20433, 2880] 11:55:52 ADE: U 6155753, C 4474, I 0 + 56497 = 56497, P 0 + 21257 = 21257 11:55:52 CFG: in Flash gespeichert am F6, zählen 502, Bytes 4096 11:55:53 ADE: 6158498, 4474, [1773, -83, 650, 60], [1773, 2, 650, -7] 11:55:53 ADE: U 6158498, C 4474, I 0 + 0 = 0, P 0 + 0 = 0 11:55:53 WIF: Prüfe Verbindung... 11:55:54 ADE: 6155563, 4474, [1773, -22, 650, 25], [1773, -9, 650, 4] 11:55:54 ADE: U 6155563, C 4474, I 0 + 0 = 0, P 0 + 0 = 0 11:55:55 ADE: 6158837, 4474, [1773, -84, 650, 63], [1773, 13, 650, 5] 11:55:55 ADE: U 6158837, C 4474, I 0 + 0 = 0, P 0 + 0 = 0 11:55:56 ADE: 6158136, 4474, [1773, -20, 650, -11], [1773, 6, 650, -4] 11:55:56 ADE: U 6158136, C 4474, I 0 + 0 = 0, P 0 + 0 = 0Was mich ernsthaft irritiert ist die Logzeile mit "Switchmode 0" ?!? Ich bin mir ziemlich sicher, daß ich während der initialen Konfiguration Switchmode1 1 und Switchmode2 1 eingegeben habe:
Code
Alles anzeigen12:03:26 CMD: switchmode1 12:03:26 SRC: WebConsole from 192.168.151.181 12:03:26 CMD: Gruppe 0, Index 1, Befehl "SWITCHMODE", Daten "" 12:03:26 RSL: RESULT = {"SwitchMode1":1} 12:03:27 ADE: 6159753, 4476, [1773, -27, 650, 6], [1773, 10, 650, 10] 12:03:27 ADE: U 6159753, C 4476, I 0 + 0 = 0, P 0 + 0 = 0 12:03:28 ADE: 6162796, 4477, [1773, -63, 651, -7], [1773, 3, 651, -34] 12:03:28 ADE: U 6162796, C 4477, I 0 + 0 = 0, P 0 + 0 = 0 12:03:29 ADE: 6162824, 4476, [1773, 20, 650, 53], [1773, -4, 651, -4] 12:03:29 ADE: U 6162824, C 4476, I 0 + 0 = 0, P 0 + 0 = 0 12:03:30 ADE: 6163937, 4476, [1773, -23, 651, 10], [1773, -13, 651, 28] 12:03:30 ADE: U 6163937, C 4476, I 0 + 0 = 0, P 0 + 0 = 0 12:03:31 CMD: switchmode2 12:03:31 SRC: WebConsole from 192.168.151.181 12:03:31 CMD: Gruppe 0, Index 2, Befehl "SWITCHMODE", Daten "" 12:03:31 RSL: RESULT = {"SwitchMode2":1} 12:03:31 ADE: 6164415, 4477, [1773, -8, 651, 55], [1773, 16, 651, 20] 12:03:31 ADE: U 6164415, C 4477, I 0 + 0 = 0, P 0 + 0 = 0 12:03:32 ADE: 6164342, 4476, [1773, -3, 650, 15], [1773, -3, 651, 7] 12:03:32 ADE: U 6164342, C 4476, I 0 + 0 = 0, P 0 + 0 = 0 12:03:33 ADE: 6165538, 4476, [1773, -49, 650, 75], [1773, -4, 651, 0] 12:03:33 ADE: U 6165538, C 4476, I 0 + 0 = 0, P 0 + 0 = 0 -
Hallo zusammen,
habe in unserem Neubau für die Rollladensteuerung insgesamt 12 Shelly 2.5 verbaut und vorher mit Tasmota 9.1.0 versehen.
Die Einrichtung habe ich über setoption80 1, shuttermode 1, switchmode1 1, switchmode2 1 und setoption32 1 durchgeführt, sowie eine Kalibrierung über setshutterclose, shutteropenduration XX.X und shuttercloseduration XX.X gemacht.
An sich funktioniert die Steuerung über das Webfrontend und die Schalter an der Wand (Die Schalter sind die klassischen mechanischen Doppelschalter für HOCH und RUNTER, die sich gegenseitig blockieren, also einen mechanischen interlock machen). Da es sich um 2 Schalter mit den Schaltzuständen EIN und AUS handelt, habe ich den Switchmode 1 gewählt und die Mehrfachbetätigung über SetOption32 1 deaktiviert.
Mein Problem: Die Reaktionszeit auf die Eingänge Switch1 und Switch2 durch das Tasmota. Durch "Setoption32 1" erreiche ich, das beim Übergang des Schalters in den Zustand EIN das entsprechende Relais des Shellys sofort schaltet und nicht auf weitere Mehrfachbetätigungen wartet. Schalte ich jedoch wieder in den Zustand AUS bleibt das Relais noch ~0,5-0,7 Sekunden im EIN-Zustand, bevor es abschaltet. Ein sauberes Positionieren des Rollladens (Unsere 1-Jährige schläft mittags nur, wenn 2-3 Spalten zwischen den oberen Elementen sichtbar sind) ist somit nahezu unmöglich. Ich behelfe mir dann momentan mit "Shutterposition 13" über die Konsole aufgerufen vom Mobiltelefon, aber das ist keine Lösung mit WAF.....
Daher meine Frage: Kann man das Delay beim Abschalten der Eingangssignale irgendwie gegen 0 verkürzen? Da über die Konsole ein kürzeres Ansteuern der Relais' möglich ist, muß das ja eine Variable im Tasmota sein. Aber ob die durchgereicht wird und via "SetOptionXX" gesetzt werden kann, habe ich noch nicht herausgefunden.....