FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: gestein am 03 Dezember 2020, 22:11:29

Titel: [gelöst] setreading und ";" im Readingtext
Beitrag von: gestein am 03 Dezember 2020, 22:11:29
Hallo,

Ich bekomme die Daten meiner Heizungssteuerung über das OZW672-Modul.
Dabei kommen die Schaltzeiten für die Heizung für Sonntag so an:
SchaltuhrSo 6:00 (Prkmf);  8:30 (Komf); 21:00 (Prkmf); 23:45 (Eco); -; -

In einer perl-Funktion in 99_myItils.pm kopiere ich dieses Reading in einen Dummy um.
Über fhem($cmd) soll ein Reading gesetzt werden, damit steht in $cmd der folgende setreadings-Befehl:
setreading diSchlafzimmer 2020-12-03 21:21:15 SchaltuhrSo 6:00 (Prkmf);  8:30 (Komf); 21:00 (Prkmf); 23:45 (Eco); -; -

Im Reading steht dann nur "6:00 (Prkmf)", der Rest fehlt.
Wenn ich den gleichen Befehl in der Command-Zeile von fhem eingebe, kommen die Fehlermeldungen:
Unknown command 8:30, try help.
Unknown command 21:00, try help.
Unknown command 23:45, try help.
Unknown command -, try help.
Unknown command -, try help.

fhem interpretiert das ";" als Befehlstrennzeichen - klar.
Einfaches und doppeltes Anführungszeichen ändern nix, ein "\;" auch nicht.

Aber wie schaffe ich es den String trotzdem ins Reading zu schreiben?

Natürlich könnte ich das ";" durch was anderes ersetzen oder löschen...

Danke im Voraus
lg, Gerhard
Titel: Antw:setreading und ";" im Readingtext
Beitrag von: amenomade am 03 Dezember 2020, 22:12:29
;;
Titel: Antw:setreading und ";" im Readingtext
Beitrag von: gestein am 03 Dezember 2020, 22:23:03
Danke, das war der Stupser in die richtige Richtung.
Ein simples "$cmd =~ s/;/;;/g;" hat geholfen.

Vielen herzlichen Dank!
lg, Gerhard
Titel: Antw:setreading und ";" im Readingtext
Beitrag von: amenomade am 03 Dezember 2020, 22:24:13
Das war meine kürzeste erfolgreiche Antwort hier im Forum ;) :D
Titel: Antw:setreading und ";" im Readingtext
Beitrag von: MadMax-FHEM am 03 Dezember 2020, 22:28:39
Zitat von: amenomade am 03 Dezember 2020, 22:24:13
Das war meine kürzeste erfolgreiche Antwort hier im Forum ;) :D

Angeber!  ;D

Gruß, Joachim

P.S.: meine kürzeste "Pöbelei"... :)