Tasmota
Mit diesem Modul ist es möglich geflashte ESPs kinderleicht in IPS zu integrieren. Kommuniziert wird über das MQTT Prokotoll, somit muss der Status der Geräte nicht gepollt werden.
Requirements
- at least IPS Version 5.1
- MQTT Server oder MQTT Client
Included Modules
- IPS-Tasmota
- IPS-TasmotaLED
- IPS-TasmotaConfigurator (in Arbeit)
- IPS-TasmotaSwitchTopic
Installation
Ab IPS Version 5.1: Über den IP-Symcon Module Store
Configuration in IP-Symcon
Allgemein
Das Modul kann mit dem internen MQTT Server betrieben werden, oder aber mit einem externen MQTT Broker.
Wenn ein externer MQTT Broker verwendet werden soll, dann muss aus dem Module Store der MQTTClient installiert werden.
Standardmäßig wird der MQTT Server bei den Geräteinstanzen als Parent hinterlegt, wenn aber ein externer Broker verwendet werden soll, muss der MQTT Client per Hand angelegt werden und in der Geräteinstanz unter „Gateway ändern“ ausgewählt werden.
Die weitere Dokumentation bitte den einzelnen Modulen entnehmen.
Field | Description |
---|---|
Tasmota MQTT Topic | Name des Tasmota Gerätes, ist in den MQTT Einstellungen in der Tasmota Firmware zu finden |
Power On | 1 oder ON – Je nachdem wie das Tasmota Gerät geflasht wurde |
Power Off | 0 oder OFF – Je nachdem wie das Tasmota Gerät geflasht wurde |
Full Topic | Full Topic des Tasmota Gerätes, ist in den MQTT Einstellungen der Tasmota Firmware zu finden |
Multi Switch | aktivieren, wenn mehr als ein Swtich an dem Gerät verfügbar ist |
System Variables | aktivieren, wenn die System Variablen vom Tasmota als Variablen in IP-Symcon angelegt werden sollen |
Wenn die einzelnen Haken des Debug Modus aktiviert werden, sind im Debug Fenster weitere Meldungen zu finden.
Die Übergeordnete Instanz sollte immer der MQTT Server sein, dieser sollte normalerweise direkt gesetzt werden, wenn das Modul angelegt wird.
Funktionen
Tasmota_restart($InstanceID)
Mit dieser Funktion kann das Tasmota Gerät neugestartet werden.
Tasmota_Restart(25537);
Tasmota_setPower($InstanceID, $power, $Value)
Mit dieser Funktion können einzelne Relais geschaltet werden.
Einfach Switch:Tasmota_setPower(25537, 0, false); //Power Variable
Mehrfach Switch (z.B Sonoff 4CH):
Tasmota_setPower(25537, 1, false); //Power Variable 1
Tasmota_setPower(25537, 2, false); //Power Variable 2
Tasmota_setPower(25537, 3, false); //Power Variable 3
Tasmota_setPower(25537, 4, false); //Power Variable 4
Tasmota_sendMQTTCommand($InstanceID, $command, $msg)
Mit dieser Funktion kann jedes MQTT Command abgeschickt werden. Als Rückgabewert wird JSON geliefert.
Beispiel:Tasmota_sendMQTTCommand(25537, "POWER "ON");
Field | Description |
---|---|
Tasmota MQTT Topic | Name des Tasmota Gerätes, ist in den MQTT Einstellungen in der Tasmota Firmware zu finden |
Power On | 1 oder ON – Je nachdem wie das Tasmota Gerät geflasht wurde |
Power Off | 0 oder OFF – Je nachdem wie das Tasmota Gerät geflasht wurde |
Full Topic | Full Topic des Tasmota Gerätes, ist in den MQTT Einstellungen der Tasmota Firmware zu finden |
System Variables | aktivieren, wenn die System Variablen vom Tasmota als Variablen in IP-Symcon angelegt werden sollen |
Die Übergeordnete Instanz sollte immer der MQTT Server sein, dieser sollte normalerweise direkt gesetzt werden, wenn das Modul angelegt wird.
Funktionen
Tasmota_restart($InstanceID)
Mit dieser Funktion kann das Tasmota Gerät neugestartet werden.
Tasmota_Restart(25537);
TasmotaLED_setColorHex($InstanceID, $Color)
Mit dieser Funktion wird die Farbe für den kompletten Stripe in HEX gesetzt.
TasmotaLED_setColorHex(25537, "FF0000");
TasmotaLED_setDimmer($InstanceID, $Value)
Mit dieser Funktion kann der LED Stripe gedimmt werden, Werte von 0-100 können übergeben werden.
TasmotaLED_setDimmer(25537, 20);
TasmotaLED_setFade($InstanceID, $Value)
Mit dieser Funktion kann der Fader aktiviert werden.
TasmotaLED_setFade(25537, true);
TasmotaLED_setLED($InstanceID, $LED, $Color)
Mit dieser Funktion kann jede einzelne LED angesteuert werden.
TasmotaLED_setLED(25537, 1, "FF0000");/
TasmotaLED_setPixel($InstanceID, $Value)
Mit dieser Funktion werden die Pixel gesetzt, also wieviele LEDs der Stripe besitzt.
TasmotaLED_setPixel(25537, 58);
TasmotaLED_setPower($InstanceID, $Power, $Value)
Mit dieser Funktion kann der Stripe ein- bzw. ausgeschaltet werden.
TasmotaLED_setPower(25537, 0, true); //Power Variable
TasmotaLED_setScheme($InstanceID, $Value)
Mit dieser Funktion kann eine vordefiniertes Schema der Tasmota Firmware abgerufen werden.
TasmotaLED_setScheme(25537, 5);
TasmotaLED_setSpeed($InstanceID, $Value)
Mit dieser Funktion kann die Geschwindigkeit eingestellt werden.
TasmotaLED_setSpeed(25537, 5);
TasmotaLED_sendMQTTCommand($command, $msg)
Mit dieser Funktion kann jedes MQTT Command abgeschickt werden. Als Rückgabewert wird JSON geliefert.
TasmotaLED_sendMQTTCommand("POWER "ON");
Screenshots
Noch nicht vorhanden
17 Comments
Jens · 31. August 2019 at 12:53
Hallo, zunächst einmal danke für das Modul, jedoch schaltet mein Shelly1 (Tasmota 6.6) in Symcon alle 90 Sekunden den Zustand.
Hast du da vielleicht noch eine Idee?
Gruß
Jens
Schnittcher · 2. September 2019 at 09:21
Hallo Jens,
kannst du mir im IP-Symcon Thread dazu ein Debug posten?
Grüße,
Kai
Patrick · 27. October 2019 at 19:26
Hallo, ich habe einen Shelly PM, dieser wurde mit Tasmota geflasht. Momentan wird leider die Variable „Power“, die den Leistungswert in Watt angibt, nur alle 5Minuten abgefragt. Kann man die Abfrage selbst verkürzen? Ich überwache diese Ausgabe um festzustellen ob das Gerät, welches am Shelly hängt ,gerade arbeitet oder nicht. Durch die lange Zeitspanne kann ich das leider nicht nutzen. Ein Script welches den Zustand auswertet erhält einfach zu alte Daten vom Shelly und schaltet diesen dann aus obwohl gerade ein Gerät dahinter arbeitet. Vielen Dank im Voraus.
Schnittcher · 27. October 2019 at 19:59
Hallo Patrick,
ja man kann den Intervall verändern.
Schau mal hier: https://github.com/arendst/Tasmota/wiki/Commands
Schau dir mal den Befehl TelePeriod an.
Grüße,
Kai
Patrick · 27. October 2019 at 21:35
Wouw, perfekt, das war’s. Vielen Dank Kai!
Gruß
Patrick
Patrick · 29. October 2019 at 21:46
Hallo Kai,
ich habe noch eine Meldung die immer wieder im Protokoll von Symcon auftaucht.
Kannst du mir sagen ob es am Tasmota-Modul liegen kann oder en einem Script welches ich im Einsatz habe? Zu mindestens liefert mein Script beim Test keinen Fehler zurück und wird scheinbar korrekt ausgeführt.
Diese Meldung erscheint jeweils für die Line 181 bis 185. Instanz #57509 ist in meinem Fall ein Shelly vom Typ IPS_Tasmota.
29.10.2019 21:28:21 | 57509 | FlowHandler | Kann Daten nicht zur Instanz #57509 weiterleiten:
Notice: Undefined property: stdClass::$ReactivePower in /var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/IPS-Tasmota/module.php on line 185
Gruß
Patrick
Schnittcher · 31. October 2019 at 10:18
Hallo Patrick,
ich schaue es mir mal an, am besten ist es, wenn du die Fehler im Forum mit einem Debug zusammen postest, dann kann ich das besser nachvollziehen.
Grüße,
Kai
Patrick Lichtenfeld · 3. November 2019 at 20:15
Danke Kai. Den ganzen Text des Debug, einfach als Text hier rein Posten?
Schnittcher · 4. November 2019 at 08:20
Hallo Patrick,
nein, ich meine im IP-Symcon Forum. Ansonsten schick mir ein Debug per E-Mail.
Grüße,
Kai
WiBo · 12. April 2020 at 18:47
Hallo Kai,
habe dein Tasmota Modul installiert bekomme jedoch keine Verbindung über einen MQTT Server zu einer geflashten Tasmota Leuchte. Die Leuchte funkt und in der Konsole kommt die Fehlermeldung das keine Verbindung zu MQTT hergestellt werden kann.
Wenn ich deinen MQTT Client aus dem Store installieren will kommen etliche Fehlermeldungen,
kannst Du das bitte mal prüfen?
Schnittcher · 15. April 2020 at 13:26
Hallo,
welchen MQTT Server / Broker nutzt du?
Am besten poste mal im Forum die Fehlermeldungen.
Grüße,
Kai
Christian · 18. May 2020 at 16:42
Hallo Kai,
kann ich mit Deinem Modul auch eine Tasmota RF-Bridge in IP-Symcon einbinden ? Ich bekomme nichts nach IP-Symcon gesendet …. in der Console steht
Connect failed to 192.168.X.X:1883, rc -2. Retry in 10 sec (Port 1024 habe ich auch probiert)
Viele Grüße Christian
Schnittcher · 29. May 2020 at 09:42
Hallo Christian,
Die RF Bridge wird nicht vom Modul unterstützt. Aber das Gerät sollte sich trotzdem mit dem MQTT Server verbinden.
Wo läuft dein IP-Symcon? Evtl. ist der Port in der Firewall nicht freigegeben?
Grüße,
Kai
Wolfgang_b · 18. May 2022 at 15:41
Hallo, ich fände es toll, wenn Tasmota den Sensor DS2413 unterstützen würde. Würde die Bedeutung von 1-Wire gewaltig steigern …
Gruß Wolfgang
Kai Schnittcher · 30. May 2022 at 11:03
Kannst du mir im Forum Debugs schicken?
Grüße,
Kai
Georg · 12. November 2022 at 16:57
Ich habe in Tasmota die PID und Thermostatfunktionen eingebunden und bekomme für die PID einige Datenpunkte angezeigt und für die Thermostat-Funktion nur 3 (Mode, Zieltemperatur und Dutycycle). Auch kann ich die Werte nicht über das Modul verändern.
Wäre schön, wenn das implementierbar wäre.
Abgesehen davon, habe ich noch Probleme mit der Anwendung der Funktionen.
Kai Schnittcher · 13. December 2022 at 13:46
Hallo Georg,
ich habe dir ja im IP-Symcon Forum dazu schon geantwortet, das ist nun im Modul vorhanden.
Grüße,
Kai