Antis FHT Script -> WAF optimiert :)

Jetzt wo ich die Dateien hier bearbeiten kann steh hier oben stets das aktuelle. Changelog in den Posts.

Aktuell ist jetzt mit Versionsnummer antis_fht_1.0

Installation:

  • RAR in IPS/SCRIPTS entpacken

  • fht_resend.php verschieben nach IPS\WEB (Ich geh mal davon aus der simple Web CLient ist installed)

  • antis_fht in IPS als Script einbinden

  • Einmal per Hand laufen lassen, sollte ein paar IPS Variablen anlegen.

  • Timer dafür auf 5 Min setzen (Wichtig das es 5 Min sind, das Script geht davon aus) weitehin auf ONCHANGE von „fht_resend“ (vorher angelegt worden)

  • In der EXCEL Tabelle seine Einstellungen machen

  • Tip: Wenn ihr beispielsweise Nachts eine Änderung erzwingen wollt, um beispielsweise Händische änderungen (wegen Party), zu einem Zeitpunkt rückgängig zu machen … Setzt doch einfach für eine Viertelstunde einen anderen Temperaturwert (idR. kälter)

  • Tip: Wer das Script nicht immer laufen lassen will könnte als erstes eine ähnliche Zeile einfügen: if (getValueBoolean („fht_dontrun“)) return;
    Anti


Hallo,

Ich habe mir zum Thema FHT auch mal ein paar Gedanken gemacht. Als Ergebniss ist das angehängte Script rausgekommen. Damit möchte ich der guten Community hier auch was zurückgeben :wink:

Grundgedanken: Die Steuerung (auch die erstellung von Profilen) sollte so einfach wie nur eben möglich sein. Nachdem ich mir das SFHT mal angeshen habe fand ich das da nur mässig. Also überlegt. Was kann selbst meine Freundin problemlos einstellen.

Meine Lösung: Excel. Bei uns stehen überall Rechner/Laptops im Haus rum, so dass man da problemlos mal eben ran kann. Also dieses Script liest die Profile für die FHT direkt aus einer EXCEL Tabelle. Bei der hab ich noch ein paar kleine Marcros gebaut zur Übersichtsoptimierung.

Das ganze ist quasi mit heisser Feder gestrickt hier eine kurze Auflistung der bisherigen Features:

  • Profile können in Excel easy erstellt und geändert werden
  • FHT Daten stellt man ebenfall in Excel ein
  • In Excel kann man das aktuelle Profil aus einer Dropdownliste wählen
  • Man kann bei den Profilen Daten hinterlegen. Hat ein Profil das heute Datum hinterlegt, so wird dieses aktiv auf wenn in der Liste ein anderes gewählt ist.
  • bei IPSYMCON kann man eine Variable setzen. Ist diese mit einem gültigen Profilnamen belegt ist dieses gültig egal was in Excel ausgewählt ist oder ob ein Datum aktiv ist -> damit kann man die Funktionen Ich bin da, Ich bin Weg, Party etc. vom SFHT nachbilden wenn man will
  • Wenn die Target State Variable sich nicht anpasst gibt es einen Alarm (der bei mir nicht viel macht immo, ist aber ne Funktion wo man was eigenes einbauen kann)
  • Eine neue Temperatur wird nach 5 Min noch ein mal gesendet, um die Sicherheit zu erhöhen, da der FHT ja kein Feedback gibt
  • Die Automatik Zeiten des FHT kann man in Excel eintragen, kurz davor schlatet das Script die FHT auf Manuell und kurz dannach zurück auf Auto. Zweck ist Batterie zu spaaren: Ventil fährt nicht auf und zu
  • Tempraturen werden nur an Flanken gesendet -> Am Rad gemachte Einstellungen bleiben bis zur nächsten Flanke (Feature ist abstellbar)

So das wars glaub ich bis jetzt :slight_smile: Vorschläge sehr gerne !

Installation:

  • Archiv in den Script Ordner entpacken. (evtl Pfade im Script anpassen)
  • antis_fht in IPS einbinden und eine Timer auf 5 Min darauf setzen.
  • excel anpassen

So wer Lust hat probierts mal aus, Installation ist ja sehr einfach :slight_smile: Vorschläge zur Verbessserung wie gesagt gerne.

Anti
P.s: Bin oft im Chat.
P.P.s: Einfach mal in die EXCEL Tab reinsehen, sollte schon viel erklären.

antis_fht.rar (53.4 KB)

antis_fht_1.0.rar (56.1 KB)

Hier ein mini Fix

  • Hat das Profil eine Zeile zu tief ausgelesen (Doch nicht siehe EDIT)
  • Hat nicht erreichen immernoch mehrfach geendet weil der Sendezeitpunkt noch geupdatet wurde (und damit das 2te Sicherheitssenden immer wiederholt wurde). Habe mir wohl meine FHT damit „abgeschossen“ nachher mal resetten :wink:

Hat das schon einer angetestet?

Anti

Edit:

Hups peinlich mein Datum stand falsch, also in 117 doch wie ursprünglich
$y = $dayindex+3;
Man kann die Datei ja scheinbar nicht nochmal austauschen ;(

antis_fht.ips.rar (2.95 KB)

Schön das sich zum Thema FHT auch wieder etwas bewegt.

Komme mangels Zeit kaum dazu selber zu programmieren.
Das sFHTs Skript ist sicherlich eine Tolle Sache, aber eben nicht WAF freundlich und beim Heizungsmodul von WIIPS gibst bis jetzt leider auch nichts Neues.

Mal schauen was die „Frau“ zu Excel sagt.

Gruß
astrastar.

Hallo astrastar,

aber bald. Ich bin gerade beim anpassen der Profile, dankenswerterweise hat mir jemand den Impuls zur Darstellung der Profilinfo geliefert.

Gruss Torro

Hier ein Fix für einen Fehler auf den mich Matrose aufmerksam machte.

  • Das Script hatte nur gespeichert welche Temperaturstufe zuletzte gesendet wurde und nicht die reale Tempratur -> Folge bei änderungen des Temperaturprofils in der Config passierte nichts bis zur nächsten Änderumg im Profil. Ist gefixed
  • Bei mehreren Räumen hat er das falsch ausgelesen -> gefixed
  • Gibt ne neue Varibale um die aktuellen Tempraturen neu zu schreiben (z.b. um per Fernbedienung alle FHT wieder auf Sollwert zu bringen, nachdem da viel dran rumgespielt wurde :wink: )
  • Alarmmeldung gefixed

Nach wie vor wenn euch was auffällt sagt Bescheid, sonst kanns ja nicht besser werden :wink:

Anti

antis_fht.ips.zip (3.05 KB)

Hallo,

ich hab mir das Script jetzt mal „installiert“ - mit den Updates bzw Fixes. allerdings bekomm ich beim manuellen ausführen im IPS ScriptManager eine Fehlermeldung:

<b>Warning</b>: mktime() expects parameter 4 to be long, string given in <b>C:\Programme\IP-Symcon\scripts.currentscript</b> on line <b>57</b><br />

Jetzt weiss ich nicht, was soll das bedeuten, da es ja „nur“ eine Warnung ist. Das sieht allerdings nicht so toll aus.

Vielleicht kann jemand mal das Script anschauen und hier mitteilen, an was das liegen könnte?

Ansonsten einen schönen abend noch

jgoller

PHP übernimmt die Variablendeklaration für dich. Aber manchmal stolpert es über seine eigenen Routinen und weiss nicht mehr was du von ihm willst. Ist das nun ein Text mit einer Zahl drin ‚12‘ oder der Interger-Wert 12 (oder we hier Long-Wert -> Andere Form von Integer)

PHP nimmt dann an, dass wenn du es wie eine Zahl behandelst, dass du möchtest, dass es eine Zahl ist. Ist es das aber nicht versucht es den Text für dich umzuwandeln. Gelingt dies nicht kommt ein Fehler. Gelingt es kommt eine Warnung, dass dein Code dort nicht eindeutig ist. Denn ‚12‘ lässt sich gut in 12 umwandeln. ‚Hallo‘ hingegen nicht. Darum die Warnung.

Du kannst die Warnung ignorieren oder vor dem 4. Parameter von mktime() in Zeile 57 ein (int) machen.

mktime($irgend, $eine, $andere, (int)$Zahl, $oder, $keine);

Gruß,

Toni

So mal wieder was neues hierzu.

File im ersten post (Antis_Fht_1.0) also ab jetzt mit Versionsnummer.

Neu:

  • Genanntes MKTIME Warning Problem sollte weg sein
  • In der Excel Tabelle gibt es ein neues Makro. Damit kann man aus EXCEL Herraus eine Aktualisierung der Werte an den FHT´s erzwingen (Hierzu mal die Qeue des FHZ 1300 beobachten wenn ihr drauf klickt :slight_smile: ). Zum Portieren ist es für die weniger versierten denke ich am einfachsten einfach eure bisherigen Profile / Daten in die neue zu Kopieren. Für die anderen Makro kopieren und die Ausführung vom selbigen irgentwie veranlassen :wink:
  • Es gibt eine neue IPS Variable Namens „fht_resend“ (Boolean) wenn die auf True gesetzt wird, werden die aktuellen Soll Temps neu gesendet (wird auch vom neuen EXCEL Feature genutzt) - das Script bitte auf ONCHANGE dieser triggern - die Variable wird vom Script zurückgesetzt
  • [edit] achja , die Uhrzeit wird den FHT nun einmal am Tag gesendet. (nacheinander mit 5 min Abstand zu einstellbarer Zeit um die Qeue zu schonen)

Gruß,
Jan aka Anti

P.s.: Wenn ihrs einsetzt lasst ruhig mal höhren, intressiert mich mal wie oft das verwendet wird.

Hallo,

habe mal kurz das Excelsheet überflogen, aber noch nicht in die Scripts geschaut (habe darin auch noch keine Erfahrungen).

zwei Fragen dazu:

  1. Gibt es eine Beschreibung, wie die einzelnen Variablen der FHTs benannt werden müssen?
  2. Gibt es einen Gedanken dieses auch in einem Outlook-Terminplan zu intigrieren?

Gruss
Heiko

Dachte das wäre soweit selbsterklärend. Du brauchst die Instance ID des FHT und zur (wenigstens gerigfügigen) erhöhung der Sicherheit eine Target State Variable. Die kannst Du nennen wie immer du magst , musst halt nur eintragen.

So btw. bei mir desyncronisiert sich das Zeuchs öfter, hat noch jmd die Erfahrung (mit dem Script) gemacht, oder ist das Problem wohl ehr in meiner Funklandschaft zu suchen?

Anti
der letzeres vermutet

Hallo Anti,

da ich dein Script nicht verwende, aber das gleiche Problem habe, ist deine Vermutung wohl richtig :wink:

Gruß
Dieter

Hallo,

nein ist schon selbserklärend, da ja die Variable in der Exceltabelle eingetragen werden muss :slight_smile:

Dachte nur, da die Uhrzeitsync. mit drin ist, wird noch eine oder mehrere benötigt :eek:

PS: Ein Anpassungsvorschlag für die Excelmatrix
Da man nur einzelne Datums untereinander schreiben kann, verliert man schnell den Überblick,
deshalb mal den folgenden Vorschlag:

Settings auf eine Tabelle
Kalender auf eine andere Tabelle, mit folgendem:

  • erste Zeile: Jahr (2007) <-- so brauch man nur das Jahr anpassen und die Standardwerte stimmen wieder

  • Zeilen: Monate (Jan. - Dez.)

  • Spalten: Tage (01-31)

  • und den Samstag, Sonntag andersfarbig hinterlegt je Monat

  • und als Clou:
    einige Zeilen tiefer: Standardwerte für Mo. - So.
    einige Zeilen tiefer: Auflistung der Feiertage (welche dann wie So. behandelt werden)

Gruss
Heiko

Moin,
habe ich doch gleich mal Interesse gezeigt.
Im Moment funzt alles.
Aber:
Profil und Variable mit Namen „Home_Frank“ erstellt.
In XLS wechsel der aktiven Profile möglich.
Wenn nun aber das Profil away in XLS eingestellt ist und ich die
Variable Home_Frank auf true setzte, ändert sich nichts.

Was mach ich woll falsch?

Schlecht erklärt von mir, sollte den trhead vielleicht noch mal etwas ordnen. Also setzen den String ips_profileoverride auf „Home_Frank“ und schon sollte das Profil aktiv sein.

Anti

THX, nun funzt alles nach Wunsch.

Je nach Anwesenheit wird das jeweilige Profil gesetzt.
Person A oder B oder alle.

Jetzt kommt der Dauertest.:slight_smile:

Hallo,

seit ca. 4 Wochen nutze ich den Script. Läuft fast alles Wunderbar :slight_smile:
Es werden drei FHT darüber gesteuert. Nun weicht bei einem Gerät allerdings alle paar Tage, genauer kann ich das nicht sagen, die Uhrzeit exakt um eine Stunde ab. Genau gesagt, die Uhr geht eine Stunde vor. Die Variable fht_alertMSG steht auf ‚Badezimmer ist nicht gesetzt !! -> you should try fht_resend‘

Leider bin ich so ein großer PHP Spezi um rauszufinden, woran das liegen kann.

Viele Grüße Tinus

Setz die Zeit zu der die Zeiten gesendet werden mal mindestens 10 Minuten nach einer vollen Stunde …

vermute: Script sendet Std. , FHZ ist auf Std x und 59 Min … 5 min später kommt minute an, dann ist die Std aber schon einen hoch …

Anti

OK, Zeit habe ich geändert. Mal sehen ob sich etwas ändert.

Tinus

So nur um mal eine Status zu melden , nutze das Skrript von Anti bereits 2 Monate mit 9 FHT’s und es funtz einwandfrei …

ich nutze die erste version und hab sie ein bissel angepasst. und integriert. Läuft auch schon seit monaten ohne probleme.

Grüße
M.