Sonoff mit Tasmota Firmware ohne MQTT an FHEM möglich?

Begonnen von reibuehl, 29 Juni 2017, 19:21:58

Vorheriges Thema - Nächstes Thema

reibuehl

Ich habe ein paar Sonoff mit Tasmota Firmware und würde die gerne an FHEM anschließen. Geht das ohne MQTT oder ist  ein Anschluß an FHEM ohne MQTT nur mit EasyESP möglich?
Reiner.

Bapt. Reverend Magersuppe

Ich würde es einfach mit MQTT machen, was spricht dagegen?

Ansonsten espeasy benutzen, das kann man genau so einfach flashen.
--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

reibuehl

Ich wollte mir den zusätzlichen MQTT server sparen. Je weniger Software läuft, desto weniger muss ich regelmäßig updaten :-)

Weißt Du, ob ich EasyESP direkt aus der Tasmota WebUI drüberflashen kann? Oder muss ich dazu den Sonoff wieder ausbauen und per Pinheader flashen? 
Reiner.

Reinhart

geht direkt über OTA!
Nur sollst ihn dann resetten.

Der MQTT Server läuft bei mir am Raspi eigentlich sehr unauffällig im Hintergrund und stellt auch kaum eine Belastung oder Pflegeaufwand dar.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

chunter1

Gibt es in der Zwischenzeit eine Lösung die Tasmota OHNE MQTT an FHEM ermöglicht?

chunter1

#5
Zitat von: chunter1 am 23 Dezember 2017, 19:30:02
Gibt es in der Zwischenzeit eine Lösung die Tasmota OHNE MQTT an FHEM ermöglicht?

Ich hab in der Zwischenzeit die Möglichkeit via Web-commands entdeckt.


http://sonoff/cm?cmnd=Power%20TOGGLE
http://sonoff/cm?cmnd=Power%20On
http://sonoff/cm?cmnd=Power%20off
http://sonoff/cm?user=admin&password=joker&cmnd=Power%20Toggle


https://github.com/arendst/Sonoff-Tasmota/wiki/Commands#web

Damit sollte jetzt FHEM und Alexa parallel OHNE MQTT funktionieren. :)

Reinhart

Der Nachteil von reinen HTTP Commands ist, dass du keine Kontrolle hast ob das auch wirklich dort ankommt.

Ich habe auch FHEM + Alexa + MQTT parallel in Betrieb. Alexa ist das doch völlig egal mit welchem Protokoll im Hintergrund geschaltet wird.
Ich schalte viel mit Dummys, weil ich dahinter eine Gruppe von Befehlen habe die dann nacheinander ausglöst werden.

define LichtTimer.DOIFoff DOIF ([LichtTimer] eq "Aus") (set WZ_Ecklicht Ein)(set WohnzimmerLicht Aus)(set KuecheLicht Ein)(set Sonoff_Sw5 Ein)(set Schrank Ein)(set WohnzimmerSchrank Aus)(set WZ_Ecklicht Aus)(set Sonoff_Sw Aus)(set Sonoff_Sw5 Aus)(set Schrank Aus)(set KuecheLicht Aus)
attr LichtTimer.DOIFoff do always
attr LichtTimer.DOIFoff room alexaroom
attr LichtTimer.DOIFoff wait 0,0,0,2,5,1,40,0,70,120,90


Zum Beispiel werden hier mit dem Alexa Befehl "Alexa schalte die Beleuchtung aus" eine Kette von Befehlen abgearbeitet, die alle mit einstellbarer Verzögerung arbeiten. Jede Zahl im wait (Sekunden) gehört zu dem obigen Befehl. Alexa ist es dabei völlig egal, ob das FS20, HM oder Sonoff mit MQTT sind, hier ist alles gemischt. Bei MQTT habe ich zusätzlich eine Quittierung, die bei HTTP völlig fehlt und ist außerdem Dank des Moduls von dev0 ist es auch sehr einfach zu handhaben. Aus den Json Strings werden damit automatisch  Readings angelegt.

Aber jeder soll machen, was ihm einfacher vorkommt und wo er sich leichter tut.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

dev0

ZitatDer Nachteil von reinen HTTP Commands ist, dass du keine Kontrolle hast ob das auch wirklich dort ankommt.
Dafür gibt es HTTP status codes und bei einer Nichterreichbarkeit ist auch klar, dass der Vorgang nicht erfolgreich war. Das ist aber kein Problem von HTTP, MQTT, telnet, whatever... Sondern muss einfach nur ausgewertet werden.

ZitatBei MQTT habe ich zusätzlich eine Quittierung, die bei HTTP völlig fehlt
Auch diese Aussage muss nicht zutreffen, denn neben den HTTP status codes kann man durchaus eine Antwort senden/auswerten ob Aktion xyz erfolgreich war. Ob das bei Tasmota so ist habe ich mir nicht angesehen.

Pfriemler

#8
Ich hol das mal vor, sorry...
Tasmota sendet bei Webaufrufen wie "http://sonoff/cm?cmnd=Power%20TOGGLE" Antworten im Stile {"POWER":"ON"}, was der Browser gleich als JSON anzeigt.
Mit einem getHTTP-Aufruf aus FHEM wird das Ergebnis in "error" anzeigt.
ZitatmyState {
my $v = "noanswer";
if (ReadingsVal($name,'error','0')  =~ /"POWER":"(.+?)"/) {$v = $1};
$v
}
liefert "ON" bzw. "OFF bzw. "noanswer" wenn keine Antwort kommt (nicht erreichbar). Leider bekommt man so lokale Änderungen nicht mit. Aber das liegt in der Natur der Sache. Kenne ich vom NETIO auch nicht anders.

edit: Habe inzwischen doch den Schritt zu MQTT gewagt - weit weniger schwer als gedacht und läuft super!
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Xsantos

Guten Tag, ich habe eine Aufgabe die ich nicht gelöst bekomme und hoffe, dass es da draußen ein Experte gibt 😊

Zu meiner Aufgabe:
Ich habe eine Sonoff Bridge mit Tasmota Firmware geflasht (6.4.1)
Wenn ich nun einen 433mhz Bewegungsmelder bediene, sehe ich in der Tasmota Console:
,,RESULT = {"RfReceived":{"Sync":8890,"Low":290,"High":840,"Data":"2B56FA","RfKey":"None"}}"

Mein Wunsch wäre es jetzt eine ,,Rule" zu basteln die bei Auslösung des Bewegungsmelders ein http request absetzt nach: http://192.168.0.4:8083/fhem?cmd=set%20Anlagenschaltung%20on
Ein Beispiel, was aber leider nicht geht, wäre:

rule on rfreceived#Data=2B56FA do websend [192.168.0.4:8083] /fhem?cmd=set%20dummy%20on endon

Kurz gesagt, ich würde gern über meine Sonoff-Bridge, mit installierter Tasmota Firmeware, ein http request an fhem absetzen.

Nun suche ich einen Menschen mit Begabung im Bereich Tasmota, der mir bei diesem Problem helfen kann. Als Belohnung sollst du dann ewigen Dank erhalten 😊
Schönen Tag,
M.Burgmann

Eine Lösung dieser Aufgabe würde auch die Ursprüngliche Frage beantworten (Sonoff mit Tasmota ohne MQTT an FHEM).

Beta-User

Auch wenn es dem Threadtitel nicht entspricht:

Seit Mitte letzten Jahres benötigt man keine externe SW mehr für MQTT. Was spricht dagegen, MQTT2_SERVER zu verwenden, diese (vom Format her) dusseligen Ausgaben über ein MQTT2_DEVICE auszugeben und darauf in FHEM mit einem notify oä zu reagieren?

Just my2ct.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Xsantos

Ziel ist es, den Raspberry Pi /Fhem so wenig wie möglich zu belasten. Ein Server im Hintergrund ist, insofern ein HTTP-Request von der Tasmota-Bridge möglich ist, nicht nötig und eine "Belastung" weniger. Aber trotzdem danke für die Antwort, auch wenn sie dem Titel nicht gerecht wird ;)

Beta-User

Na ja, der MQTT2_SERVER ist zwar ein Serverdienst, aber im Prinzip mußt du die eingehenden Daten sowieso irgendwie verwalten ;) .
Um die Datenlast durch diesen zusätzlichen Serverdienst würde ich mir daher bei einer kleinen Zahl von Geräten keine größeren Sorgen machen ;D . Mir sind bisher jedenfalls keine Fälle bekannt, in denen ein externer Broker oder der MQTT2_SERVER einen Pi in die Knie gezwungen hätte (unbeabsichtigte Schleifen mal ausgenommen) ::) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Prince

Hi,

Mit dem Backslash geht es auch nicht?


Zitat von: Xsantos am 22 Februar 2019, 21:27:30
websend [192.168.0.4:8083] /fhem?cmd=set%20dummy%20on

Zitat von: Sonoff-Tasmota/wiki/CommandsIf a command starts with a \ it will be used as a link.

Gruß

Prince

Aus Neugierde habe ich Tasmotas Websend-Command einfach mal selbst getestet. Er arbeitet doch perfekt mit festgelegtem CsrfToken.

websend [192.168.0.4:8083] /fhem?cmd=set%20dummy%20on&fwcsrf=123

Tasmota kam in der Version 6.5.0 zum Einsatz.