[Erledigt] Problem im Wiki mit "Heizschalter"

Begonnen von FexHo, 05 Januar 2017, 22:05:22

Vorheriges Thema - Nächstes Thema

FexHo

Hallo Leute,

ich weiß nicht, ob das hier in der richtigen Ecke gelandet ist  ;D

... Da es der Allgemeinheit hilft, hau ich das einfach mal hier raus.

Ich habe ein Problem im FHEM-Wiki gefunden. Und zwar handelt es sich um das Skript, welches unter https://wiki.fhem.de/wiki/FHT_8v_direkt_ansprechen vorgestellt wurde.

Durch eine ausgiebige Debug-Session habe ich herausfinden können, dass bei mir ein Timing-Problem im Skript aus dem Wiki aufgetreten ist, welches den Heizplan nicht richtig ausführt.

Das Skript wurde bei mir immer eine Sekunde vor der angefangenen Viertelstunde ausgeführt, wodurch die Heizzeiten nicht gefunden wurden.

Ich konnte das beheben, indem ich am Anfang des Skriptes folgenden Perl-Code eingefügt habe:

sub
sucheSchaltzeit() {
# Timingproblem loesen
sleep 10;


Eventuell kann dies jemand beurteilen, ggfls. verbessern und im Wiki korrigieren.

Beste Grüße,
FexHo
Fhem auf Futro S900 (Ubuntu 16.04) | JeeLink (LaCrosse) | MaxCube (MAX! über PID20 geregelt) | Arduino FRM (1-Wire) | ZME-UZB (Z-Wave)
(Charting und Alarmierung über Zabbix)

ph1959de

Hallo FexHo,

würdest Du bitte dieses Thema in den Forenbereich "Wiki" verschieben?

Unabhängig davon kümmere ich mich schon mal um die Korrektur / Ergänzung.

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

FexHo

Hallo Peter,

ich habe das Thema verschoben.

Danke für Deine Überarbeitung. Das Debugging hat mich locker zwei Stunden gekostet. Reine Anwender hätten die Komponente womöglich verteufelt und nie wieder angepackt :)

Das Skript funktioniert bei mir nun jedenfalls wunderbar um meine PID-Regler zu Schalten...
Fhem auf Futro S900 (Ubuntu 16.04) | JeeLink (LaCrosse) | MaxCube (MAX! über PID20 geregelt) | Arduino FRM (1-Wire) | ZME-UZB (Z-Wave)
(Charting und Alarmierung über Zabbix)

Bastian0302

#3
Hallo zusammen :)

Ich wollte das Skript, unter dem Punkt "Einen Heiz-Zeitplan erstellen (mit Urlaubsfunktion)" auch mal anpacken. Ich wollte es dann in meinem 99_myUtils speichern und bekam folgende Fehlermeldung.

syntax error at ./FHEM/99_myUtils.pm line 33, near "<" syntax error at ./FHEM/99_myUtils.pm line 33, near ">" Global symbol "@Zeilen" requires explicit package name at ./FHEM/99_myUtils.pm line 39. Global symbol "@Zeilen" requires explicit package name at ./FHEM/99_myUtils.pm line 40. Global symbol "$jetztzeit" requires explicit package name at ./FHEM/99_myUtils.pm line 57. syntax error at ./FHEM/99_myUtils.pm line 57, near ">" syntax error at ./FHEM/99_myUtils.pm line 57, near "$minimum_begin ) " Global symbol "$jetztzeit" requires explicit package name at ./FHEM/99_myUtils.pm line 57. syntax error at ./FHEM/99_myUtils.pm line 57, near "<" syntax error at ./FHEM/99_myUtils.pm line 57, near "$minimum_ende)" ./FHEM/99_myUtils.pm has too many errors.


Ich habe "use Time::Local;" auch eingebunden.

Soweit ich das verstehe sagt der Fehlercode doch nur, dass zb "@Zeilen" nicht deklariert ist bzw nicht übergeben wird??

Update: Es liegt anscheinend an den &lt; , &gt; ,  ; Zeichen.
Nachdem ich sie durch <,> und das letzte einfach gelöscht habe, konnte ich es ohne Fehlermeldung speichern.
Raspbarry Pi 3, Panstamp NRG 2, Cul 433Mhz Sender/Empfänger, Mcp23017 Ein/Ausgabebaugruppe, TabletUi, Doorpi mit Nextion/RFID und Integration in Fhem, Sonos

Schraubenzieher

#4
Zitat von: Bastian0302 am 21 Mai 2017, 16:44:06
Update: Es liegt anscheinend an den &lt; , &gt; ,  ; Zeichen.
Nachdem ich sie durch <,> und das letzte einfach gelöscht habe, konnte ich es ohne Fehlermeldung speichern.

Das ist korrekt, die Spitzklammern sind in html ascii-code angegeben. Somit kann man den Code der Subroutine nicht einfach mit kopieren übernehmen.
Vielleicht findet sich ja Jemand der das Wiki bearbeiten kann und diesen Fehler im Listing der Subroutine korrigiert. ;)

Nachtrag: Das Wiki um das es geht heißt korrekter Weise "FHT 8v direkt ansprechen"

ph1959de

Ich habe das Beispielskript geändert - kann jemand, der das benutzt, kontrollieren, ob jetzt alles i.O. ist?

Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

Schraubenzieher

Habe es ohne Fehlermeldung in die 99_myUtils.pm einfügen können. Sieht auf den ersten Blick gut aus, lasse es mal ein paar Std laufen

Schraubenzieher

#7
Scheint jetzt alles tadellos zu laufen, zumindest kommen keine Fehlermeldungen im Logfile