Hi,
ich habe ein kleines Problemchen und komme nun leider nicht mehr weiter.
Ich habe die RF Bridge von Sonoff mit Tasmota.
Wenn ich einen Schalter anleege und im publishSet folgenden Wert eintrage: OFF cmnd/Bridge1/rfcode #44451
passiert gar nichts.
Wenn ich jedoch OFF cmnd/Bridge1/rfcode eingebe, gibt mir die RF Bdridge eine Rückmeldung.
Wenn ich über die Konsole ein: mosquitto_pub -h 127.0.0.1 -t cmnd/Bridge1/rfcode -m "#444551" absetze, wird der Schaltvorgang ausgeführt.
Ich habe das Gefühl das #44451 nicht mit übermittelt wird.
Hat jemand eine Idee was ich tun kann/muss damit fhem mir den Befehl cmnd/Bridge1/rfcode #44451 sauber übermittelt?
VG
Smeagel
Nachtrag:
Wenn ich über fhem direkt ein
{system('mosquitto_pub -h 127.0.0.1 -t cmnd/Bridge1/rfcode -m "#444551"');;}
absetze, funktioniert der Schaltvorgang.
VG
Smeagel
Hi,
das könnte evtl daran liegen, daß # ein wildcard in MQTT ist?
Ich habe kein Sonoff und kann das daher auch nicht testen. Aber könntest Du das Topic so umstellen, daß es kein # mehr enthält?
Cheers,
Pula
Hi,
nein, leider nicht.
Sonoff erwartet für den Schaltcode explizit den Befehl
rfcode #444551
und ich weiß nicht wie ich den via fhem absetzen soll/kann
VG
Smeagel
ich habe das so gemacht
sub RFSendMQTT($) {
my ($mqttcode) = @_;
my $cmd = "mosquitto_pub -h 192.168.178.67 --quiet -t /Smarthome/Buero/sonoffrf/cmnd/RfCode -m '$mqttcode'";
system( "$cmd" );
return undef;
}
aufruf mit
{RFSendMQTT("#145154")}
LG
/robin
Hi,
vielen Dank für den Input.
Hatte gehofft das man das über einen normalen, einzeiligen MQTT-Befehl hinbekommt.
Scheint leider nicht so zu sein.
Dennoch, vielen Dank für die Hinweise
VG
Smeagel
Ich habe mir den Code der MQTT-Module noch einmal angeschaut.
Da ist scheinbar etwas drin, was das # als Wildcard interpretiert (wie es dem Standard entspricht).
Daher ist der "Umweg" über mosquitto nötig...
Cheers,
Pula
Das '#' ist aber nicht im Topic, sondern in den Daten, und da sollte das funktionieren. Wenn das wirklich am MQTT-Modul liegt, dürfte das ein Bug sein.
Meine Vermutung ist aber eine andere: '#' leitet in Perl (und in der fhem.cfg) einen Kommentar ein. Hast Du mal probiert den Wert in Anführungszeichen zu setzen? Also im publishSet OFF cmnd/Bridge1/rfcode "#44451".
Bis dann dann:
Jochen