#gelöst#HTTPMOD set Befehl funktioniert nicht mehr Bitte Hilfe von HTTPMOD

Begonnen von Helmi55, 06 April 2022, 10:09:55

Vorheriges Thema - Nächstes Thema

Vize

Hallo Helmut,

was mir in deinem list des Devices noch aufgefallen ist, das hier fehlt noch:
reading99Regex (?s)controls.*?({.*?})

Steht zumindest in meinem Ofen-Device.

VG
Andreas

Helmi55

Hallo Andreas
auch dir danke für deine Hilfe

wenn ich das einfüge (habe nachgesehen, in einer config aus 2021 war es drinnen....)
bekomme ich diese Fehlermeldung
Ofen: reading99Regex Regex: Bad regexp >(?s)controls.*?({.*?})< in attr reading99Regex: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^(?s)controls.*?({ <-- HERE .*?})$/ at fhem.pl line 6406, <$fh> line 473.


Da kann sicher Beta-User was dazu sagen oder?

Gruß
helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Beta-User

Na ja, gegen "unescaped" hilft wohl escapen... Solltest du anhand des Beispiels ganz zu Anfang doch selbst hingenommen, oder ;) ?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Vize

Wollte gerade das selbe schreiben wie Beta-User... 😉

Wie sieht es eigentlich aus, wenn du einen anderen set-Befehl absetzt - z.B. Ofen einschalten? Funktioniert das oder laufen alle Befehle ins Leere?

VG
Andreas

Helmi55

Hallo glaube nicht oder?
attr Ofen reading99Regex (?s)controls.*?\(\{.*?}\)

Auch wenn ich die Heizzeiten ändern will funktioniert der set Befehl nicht?

Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Beta-User

Zitat von: Helmi55 am 10 April 2022, 10:30:21
Hallo glaube nicht oder?
"braces" sind nur die geschweiften Klammern, besonders "problematisch" ist (im Perl-regex-Kontext die linke) . Versuch's mal so:
attr Ofen reading99Regex (?s)controls.*?(\{.*?\})
oder so:
attr Ofen reading99Regex (?s)controls.*?(\{.*?})
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Helmi55

Hallo und DAAAAANke
attr Ofen reading99Regex (?s)controls.*?(\{.*?})
So hat es funktioniert und der Ofen lässt sich wieder schalten.

Dafür gibts eine Spende an die Ukraine!!

Nur für mein Verständnis:
Weil diese Perl Änderung war, hat es mir die zwei Zeilen aus der .cfg geschmissen??

Ich sags nochmals dieses Forum ist das Beste

Schönen Palmsonntag noch
Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Beta-User

Zitat von: Helmi55 am 10 April 2022, 11:23:58
Hallo und DAAAAANke
attr Ofen reading99Regex (?s)controls.*?(\{.*?})
So hat es funktioniert und der Ofen lässt sich wieder schalten.
:) Danke für die Rückmeldung!

Zitat
Nur für mein Verständnis:
Weil diese Perl Änderung war, hat es mir die zwei Zeilen aus der .cfg geschmissen??
Na ja, ich würde ja mal behaupten, dass das ganze eine sehr viel längere Vorgeschichte hat, aber im Prinzip ist es richtig: Weil wegen eines Updates der Perl-Version zu befürchten war, dass FHEM komplett abschmiert, hat fhem.pl iVm. dem HTTPMOD-Modul die "gefährlichen" Zeilen nicht mehr als validen Input akzeptiert und daher (laut! Jedenfalls solange nicht was anderes gespeichert war, auch über $motd sichtbar!) nicht in die laufende Konfiguration geladen.

PS: Es wäre sinnvoll, sowas "relativ standardisiertes" als attrTemplate allen zur Verfügung zu stellen (auch via update). Dann kann man nämlich checken, ob es was neues gibt, wie die Konfiguration "eigentlich" (aktuell) aussehen sollte und Problemlösungen dann auch zeitnah wieder allen (als aktualisiertes Angebot) zur Verfügung stellen...

Bei HTTPMOD ist ein attrTemplate auch nicht viel mehr wie eine etwas erweiterte RAW-Definition, man muss halt hier vermutlich die Zugangsdaten als "par:"-Argumente vom User erfragen. Vielleicht mal im HTTPMOD-attrTemplate-Thread fragen, was dazu benötigt wird :) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Helmi55

Nochmals Danke
das von dir vorgeschlagene überschreitet meine Kenntnisse bezüglich HTTPMOD leider bei weitem.......

Vielleicht kann mich da ja @Vize unterstützen?

Schönen Tag noch
Gruß
Helmut

PS: ich werde das Thema mal als erledigt markieren
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Vize

Hallo Helmut,

schön, dass es wieder funktioniert!  :D

ZitatVielleicht kann mich da ja @Vize unterstützen?

Puuh, ich glaube, da bin ich aktuell auch überfragt...sorry...

VG
Andreas

Beta-User

Zitat von: Helmi55 am 10 April 2022, 14:17:03
das von dir vorgeschlagene überschreitet meine Kenntnisse bezüglich HTTPMOD leider bei weitem.......
Na ja, vielleicht solltest du die Flinte nicht vor der Zeit ins Korn werfen:
Zitat von: Beta-User am 10 April 2022, 13:40:07
Bei HTTPMOD ist ein attrTemplate auch nicht viel mehr wie eine etwas erweiterte RAW-Definition, man muss halt hier vermutlich die Zugangsdaten als "par:"-Argumente vom User erfragen. Vielleicht mal im HTTPMOD-attrTemplate-Thread fragen, was dazu benötigt wird :) .
list -r Ofen
Dann jedes "geheime" Element durch eine (für jedes Element eindeutige) "anonyme Variable" ersetzen.

Dann mal schauen, was es sonst so gibt (z.B. clever_tanken_single_station aus https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/httpmod.template). Und schon sollte das im Bereich des "möglichen" sein...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Helmi55

Danke für deinen Hinweis.
Das muss ich mir in Ruhe mal auf der Zunge zergehen lassen  ;D

Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Beta-User

Take your time...

Fyi: Zwischenzeitlich hat mich Vize auch angeschrieben und um ein paar Hinweise gebeten. Wir können auch gerne dann hier (öffentlich) weitermachen (bzw. @Vize: du darfst gerne die relevanten Teile auch hierher übertragen).

Ich bin nur nicht allzu fit in HTTPMOD, deswegen die Bitte, das im "zuständigen" Forenbereich anzusiedeln. Ist aber ggf. auch für eventuelle "Nachahmer" interessant, denn bei HTTPMOD ist es deutlich einfacher, die verschiedenen Teil zusammenzupuzzeln, als z.B. bei MQTT2_DEVICE.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Helmi55

Tja Vize hat ja auch einen Rika Ofen.
Mich wundert es, das er diese Probleme nicht hatte?

Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Beta-User

Zitat von: Helmi55 am 12 April 2022, 13:58:24
Mich wundert es, das er diese Probleme nicht hatte?
Mich nicht ganz so sehr: Ob Perl einem "unescaped left braces" "übelnimmt" oder nicht, ist abhängig von der Perl-Version, die man im Einsatz hat.
Perl 5.24 (Debian jessie, 2014?) war da "unempfindlich", Perl 5.26 (?) hat erstmals darauf hingewiesen, dass ggf. da ein Aktionspunkt besteht.
Perl 5.28 (buster, 2018/19?) wurde da in den warnings "unleidig" ("will be fatal"), und mit 5.32 (bullseye, 2021) ist dann eben FHEM proaktiv eingesprungen...

Deswegen ja mein Hinweis: Wenn man das Wissen um solche Probleme etwas verstetig, fällt halt nur der erste User "auf die Nase" (wenn überhaupt!), alle anderen können dann "mit einem Klick" die Aktualisierung übernehmen und "gut ist" - vorausgesetzt, man hält sich halt bei den "Lösungen" an Standards und benennt z.B. eine Soll-Temperatur auch mit "desired-temp" oder so...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors