1-Wire Controller 1 Ethernet

Weil ich es gerade sehe :wink: :smiley:

Gruß
Bruno


//----------------------------------------------------------------
//        Zuordnung holen
//----------------------------------------------------------------

$Ersatz = explode (";", GetValueString($Ersatz_ID));    
$find   = explode (",", $Ersatz[0]);-

>>    $repl   = explode (",", $Ersatz[1]);   

hier kommt Fehler  -> Undefined offset: 1 in D:\IP-Symcon\scripts\52182.ips.php on line 80

habe am Anfang noch zwei Kommentar Zeilen eingefügt deshalb Zeile 80.

Und bin hierüber gestolpert

// 1-Wire-Schnittstelle
// von Silberstreifen
// V2.1 vom 21.12.2014
// Anpassung auf Firmware 1.00

weiter unten schreibst Du 23.12.2014

Ok, das sollte kein Problem sein. Einfach wie oben beschrieben dem Controller einmalig die Stromversorgung kappen und natürlich wieder einstecken;). Danach wird das System initialisiert und sollte laufen.
Grüße
Silberstreifen

Moin…

…läuft das Skript aus Post#13 von Silberstreifen mit der aktuellen Firmware 1.04 ?
Wenn nicht, hat jemand das Skript bereits angepasst oder hat ein weiteres Skript?

Danke und Grüße,
Peter

Hallo Peter,

das aktuelle Skript findest du bei uns im Shop zu dem Artikel.

Hier der Link zum Hersteller

Grüße
Abndreas

Ja danke,… das ist ja das welches ich bereits nutze.
Meine Frage ging eher dahin, ob dieses Skript auch noch mit der 1.04 Firmware läuft!?

Gruß,
Peter

… meine Antwort auch. :slight_smile:

Das Skript läuft nach meinem Wissen mit V1.04.

Andreas

Moin…

… ich hab ein paar Probleme mit dem Skript. Es läuft eigentlich soweit, aber ab und an bekomme ich Fehlermeldungen im Log, das Sensoren nicht als Variable vorhanden wären, was Sie aber sind.
Ich habe dann mal den Debug der RegVar angerissen und gesehen, das ab und zu diverse Werte anscheinend nicht richtig zerlegt werden. Die Frage ist jetzt, liegt das am Skript oder ist das ein Bug in der Firmware?
Anbei ein Bild vom Fehler. Der Sensor der da angemeckert wird ist als Variable so vorhanden. Der Name stimmt auch. Die Variable wird beim nächsten mal auch wieder richtig beschrieben.
Interessant ist die Zeit 16:32:47 im Bild und im Debug.

Hier noch der Debug der RegVar.


18.04.2015 16:32:45.00 |        Received Data | 1_OWD8_4|1

18.04.2015 16:32:45.00 |        Received Data | 1_OWD9_1|1909

18.04.2015 16:32:45.00 |        Received Data | 1_OWD9_2|449

18.04.2015 16:32:45.00 |        Received Data | 1_OWD9_3|213

18.04.2015 16:32:45.00 |        Received Data | 1_OWD9_4|1

18.04.2015 16:32:45.00 |        Received Data | 1_OWD10_1|1915

18.04.2015 16:32:45.00 |        Received Data | 1_OWD10_2|469

18.04.2015 16:32:45.00 |        Received Data | 1_OWD10_3|204

18.04.2015 16:32:45.00 |        Received Data | 1_OWD10_4|1
1_OWD11_1|2209
1_OWD11_2|468

18.04.2015 16:32:45.00 |        Received Data | 1_OWD11_3|185

18.04.2015 16:32:45.00 |        Received Data | 1_OWD11_4|1

18.04.2015 16:32:45.00 |        Received Data | 1_OWD12_1|1913

18.04.2015 16:32:45.00 |        Received Data | 1_OWD12_2|448

18.04.2015 16:32:45.00 |        Received Data | 1_OWD12_3|1023

18.04.2015 16:32:45.00 |        Received Data | 1_OWD12_4|0

18.04.2015 16:33:03.00 |        Received Data | 1_EVT|16:33:11

18.04.2015 16:33:03.00 |        Received Data | 1_KAL|1

18.04.2015 16:34:03.00 |        Received Data | 1_EVT|16:34:11

18.04.2015 16:34:03.00 |        Received Data | 1_KAL|1

Des Weiteren ist unschön, das extrem viele Leere RegVar Einträge in den Log geschrieben werden. Kann man das irgendwie unterbinden?

Grüße,
Peter

Ich schaue mir das Script die Tage mal an.

Gruß,
Christoph

Cool, danke! Das Skript übersteigt meine PHP-Kenntnisse!

Gruß,
Peter

Hallo Peter,

mir ist aufgefallen, dass IPS manchmal Probleme mit der Erkennung des CR und LF hat. Bei Socket-Verbindung sieht man es nur sporadisch, bei seriellen Verbindungen sehr oft.
Mit anderen Programme, wie Putty oder HTerm oder Hercules ist das Verhalten nicht sichtbar. Dort kann man auch sehen, dass immer ein LF und CR gesendet wird.

Grüße
Andreas

Moin… weiß das die IPS-Crew auch? Das wäre ja dann ein Bug oder!?

Haben die ganzen leeren RegVar-Logs auch etwas damit zu tun?

Peter

Diese Log-Einträge kenne ich von meinen Scripten nur, wenn irgendwo ein Leerzeichen vor den PHP-Tag kommt.
Oder man absichtlich etwas z.B. mit echo ausgibt.
Diese ‚Rückgabe‘ vom Script wird als RegVar Handler Result geloggt.
Michael

Hab ich gerade mal gescheckt. Hab kein Leerzeichen vor dem <? stehen. Das kann es in diesem Fall nicht sein.
Alles andere im Skript übersteigt leider meine PHP-Fähigkeiten. :confused:
Danke für den Tipp…

Das Problem liegt m. M. am Skript und wie die Daten verarbeitet werden. Anbei noch mal ein kurzer Log.

Hier der Debug der RegVar.

19.04.2015 11:47:35.00 |        Received Data | 1_EVT|11:47:45

19.04.2015 11:47:35.00 |        Received Data | 1_KAL|1

19.04.2015 11:48:35.00 |        Received Data | 1_EVT|11:48:45

19.04.2015 11:48:35.00 |        Received Data | 1_KAL|1

Peter

PS: Die Prozessor-Last liegt am Teamviewer… normal ohne TV bei 2-4%. Ist ein alter Atom 330.

Hallo zusammen,

Ja, Script wurde erfolgreich getestet mit IPS 3.3 #3645 und dem 1-Wire Controller mit Firmware 1.04.

Kann ich bestätigen. Ab und zu werden die Datensätze vom Controller nicht ordentlich zerlegt:
CRLF nicht erkannt.JPG

Ja. Wenn bei mir hier ein CR LF nicht ordentlich erkannt wird, erscheint unter Meldungen auch eine leere Meldung der Register Variable. Genau so, wie bei Dir. Aus meiner Sicht liegt das weder am Script, noch an der Firmware. Ich vermute, IPS kann die Daten nicht so schnell verarbeiten. Wie andrge schon geschrieben hat, kommen über andere Terminalprogramme (z.B. Putty) die Daten ordentlich rein. Ist aber nur eine Vermutung meinerseits aufgrund der Beobachtungen mit Putty.

Das Script gibt per IPS_LogMessage einige Informationen aus, wenn ein Datensatz nicht so aussieht, wie er erwartet wird. Zu finden in Zeile 119. Allerdings nirgends per echo.

Ich bilde mir ein, dass die nicht korrekt empfangenen Datensätze abnehmen, wenn ich den 1-Wire Controller die Daten per UDP an IPS senden lasse.

Grüße,
Christoph

Gibt es hier schon irgendeinen Ansatz wie es weitergehen könnte ? Das nervt ja schon ein wenig. Ständig :(gibt er mir OWD3 als nicht existent an.10 Sekunden später ist er wieder da… Ich hab grade mal 3 Module dran !

Aus meiner Sicht sollte hier das Team von IP-Symcon eingeschaltet werden. Ich habe es gestern Abend noch mal getestet. Über putty kommen die Zeichen alle sauber rein. Ich vermute also weiterhin, dass die Daten in IPS nicht richtig verarbeitet werden. Ehrlich gesagt stört mich das aber auch nicht groß. Wenn ein Temperaturwert anstatt alle 60 Sekunden nur alle 120 oder 180 Sekunden kommt, dann ist das eben so. Stört mich hier in meiner Umgebung nicht, wobei ich sicherlich auch Anwendungsfälle gibt, in denen die kurzen Intervalle wichtig sind.

Grüße,
Christoph

Und kann man an den leeren RegVar-Log-Einträgen was machen?!

Ja, kann man! Und zwar, indem ich die leeren Zeilen am Ende des Skriptes nach dem ?> entferne!

Und schon sind die leeren RegVar Logs fort!

Peter