Hallo alle,
Ich habe folgende Problem , ich habe mir mit einer Stringvariable einen Text aus meiner Wetterstation geholt (Meteohub)
\ http://192,168.2.20/meteograph.cgi?text=year1_th0_tempmax_time // . Das Ergebnis lasse ich mir in eine Variable schreiben. Soweit ist alles gut .Ich möchte mir das Datum von dem Heißesten Tag im Jahr aus meiner Davis holen .
Mein Problem ist das Datum und die Uhrzeit werden nicht in UTC Zeit dargestellt sondern in einer langen Zahlenkolonne.
Hallo Nall-Chan
Danke für die schnelle Antwort, aber leider komme ich damit nicht klar.ich weiß nicht wie ich das in meinem kleinen Skript einbinden soll.
Was willst du den erreichen?
Dein Script und deine Beschreibung sind nicht wirklich schlüssig.
Du kannst z.B. einfach den $Timestamp in eine IPS-Variable Typ Integer schreiben.
Als Profil der Variable stellst du ~UnixTimestamp ein.
Dann hast du diese Zeit in IPS.
Michael
Ich dachte es wäre klar , ich möchte den Tag aus meiner Davis auslesen der am heißesten war . Das mache ich mit dem kleinen Skript was ich oben gepostet habe. Ich verwende ein Skript für die höchste Temperatur (35,8 grd. Celsius) .Und ein Skript für den Tag an dem des so heiss war , und das war am 22.06.2017 . Diese ist so in meinem Meteohub gespeichert.
Ich bin ja schon froh das ich es hinbekommen habe diese Werte in einer Variable anzeigen lassen kann.
Aber der Zeitwert wird halt nur als so eine Zahlenkollonne zurückgegeben. Das mit der integer Variable habe ich schon versucht , aber es funktioniert nicht.
Und die Lösung hast du doch schon.
Ersetze $Time in meinem Script durch $array[0].
Und dann einfach SetValueInteger(12345, $Timestamp)
Profil für die Variable ist ~UnixTimestamp.
Ach, und die Echo s natürlich entfernen, sonst findest du im Log später die ganzen Einträge als Fehler.
Michael
Hallo zusammen,
ich versuche es mal als Moderator. Habe nämlich gerade eine ähnliche Aufgabenstellung wie Elektro.
Der Kollege hätte vermutlich gerne den zerlegten String neu zusammengestellt, sodass der String wie folgt aussieht.
Datum.Monat.Jahr oder anders dargestellt DD".„MM“."YYYY
Im Beitrag 2 hat Michael alles geliefert ;), da sind doch alle von dir gewünschten Werte als einzelne Variablen enthalten. Du musst sie nur wie gewünscht zusammen setzen.
Es wäre aber Quark den String wieder zusammenzusetzen und als String in IPS darzustellen.
Dafür eignet sich perfekt auch eine Integer Variable mit Profil ~ UnixTinestamp.
Es ist mir sehr schwer zu helfen, ohne genaue Fehlermeldung sowie den Code (als Text, nicht Screenshot).
Michael
Ich wollte im Webfront ein Datum (Beginn Urlaub) eingeben.
Sowie man das im Wochenplan machen kann und dieses Datum dann anschließend in das Format 2018-01-31 umrechnen.
Aber scheinbar denke ich zu kompliziert. Mit einer Variable vom Typ UnixTimestampDate geht es auf alle Fälle nicht.
Ich brauche diese Umrechnung weil meine Heizungssteuerung, die ich aus IPS ansteuere, dieses Format haben will.
Den Wochenplan kannst du direkt im WebFront einstellen. Dazu braucht es kein Script.
Und welcher Befehl für was?
Es steht alles in Post 2 und 5.
Wenn du allerdings nicht weißt wie man mehrere PHP-Variablen als einen String verketten kannst, solltest du dir die Grundlagen in der PHP Doku ansehen: http://php.net/manual/de/language.operators.string.php
Michael
Danke, für deine Links. Wie es scheint denke ich für IPS zu kompliziert.
Ich kann mir z.B. nicht erklären, warum ich in eine Integervariable vom Typ ~UnixTimestampDate kein Datum eingeben kann. Wenn es doch so schön in der Doku beschrieben ist.
Hat alles aber nichts mehr mit der ursprünglichen Aufgabenstellung zu tun.
Weil du musst dann aus dem Integer (Timestamp) mit Date oder gmdate dir wieder einen String für deine Hardware bauen.
Also genau der umgekehrte Weg.
Michael
Hallo Nall-chan, ein Frohes Neues Jahr ,
ich glaube ich habe jetzt alles so geändert. Aber geht nicht .
Ich bekomme eine Fehlermeldung in der Skriptausgabe:Parse error: syntax error, unexpected ‚$Timestamp‘ (T_VARIABLE) in C:\IP-Symcon\scripts\10587.ips.php on line 4
Ps: den zeitstempel hole ich mir über den Browser, nach dem Return drücken bekomme ich die Zahlenkolonne angezeigt.