Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Über das ISG web können per Webbrowser die Daten der Anlage angezeigt werden. Die Einbindung in Loxone kann über HTTP Eingangs- und Ausgangsverbinder erfolgen und Daten von der Webseite augeslesen und verändert werden. Die Abfrage von Werten wie z.B. Temperatur funktioniert über virtuelle HTTP Eingänge recht gut, aber leider nicht die Abfrage des Zustandes der Pumpen. Diese werden auf der Webseite nämlich nur angezeigt, wenn sie an sind, siehe https://www.loxforum.com/forum/german/software-konfiguration-programm-und-visualisierung/136267-problem-mit-virtuellem-http-eingang

...

Zum Abruf der Parameter legt man für jede Webseite mit Parametern, die abgerufen werden soll, einen virtuellen HTTP Eingang an, z.B.: http://<ip-adresse-der-wp>/params2.php?s=1,0 Als . Bei der URL muss man natürlich die IP-Adresse des eigenen ISG web angeben. Als Abfrageintervall empfehle ich keine kleineren Werte als 5 Sekunden, da der Abruf der Seite knapp 1s dauert. Die gleiche Seite mit aufbereiteten Werten und Menüs dauert bei mir bis zu 1,4s. Als Timeout empfehle ich mind. 4000ms, falls sich der Abruf der Webseiten mal länger dauert oder ein Paket im Netz verloren geht. Ich habe derzeit ein Abfrageintervall von 15s und ein Timeout von 4000ms eingestellt.

Die einzelnen Werte lassen sich dann über HTTP Eingangsverbinder gezielt abrufen, z.B. wird die Isttemperatur des FEK mit: . Diese werden unterhalb des virtuellen HTTP Eingangs für jeden Parameter einzeln erstellt. Nachfolgend ist dies für einen Parameter exemplarisch dargestellt:

EigenschaftWert
BezeichnungIsttemperatur FEK
Befehlserkennung[webID] => 442\n\i[value] => \i\v

...

Validierung verwendenkann angekreuzt werden
Minimaler Wert0
Maximaler Wert50
Einheit<v.1> °C

Wichtig ist, dass die Befehlserkennung mit den enthaltenen Leerzeichen exakt erfolgt!

Der vorher problematische Abruf des Status der Pumpen lässt sich jetzt sehr einfach über die webID 485 realisieren. Diese liefert ein Bit-Array mit dem Zustand der einzelnen Pumpen, Ventile und des Schützes zurück.  Hier ist die Antwort der Abfrage über /params2.php/?2,0 angegeben, welche die Parameter für das Menü "Diagnose", "Anlage" liefert (Beispiel wieder von einer WPF 05 cool):

Codeblock
languagetext
titleDiagnose, Anlage
collapsetrue
 ISG ga = Array
(
    [0] => 2
    [1] => 0
)

 ISG pt = 4
 ISG at = WPM_3_I
 ISG pm = Array
(
    [0] => stdClass Object
        (
            [webID] => 471
            [infoNr] => 49742
            [webType] => 6
            [readOnly] => 1
            [presentation] => 2
            [step] => 0
            [unit] => 
            [value] => -
            [minValue] => 0
            [maxValue] => 0
            [options] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => B0
                            [name] => HK 1 PUMPE
                        )

                    [1] => stdClass Object
                        (
                            [id] => B1
                            [name] => HK 2 PUMPE
                        )

                    [2] => stdClass Object
                        (
                            [id] => B2
                            [name] => AUFHEIZPROGRAMM
                        )

                    [3] => stdClass Object
                        (
                            [id] => B3
                            [name] => NHZ STUFEN
                        )

                    [4] => stdClass Object
                        (
                            [id] => B4
                            [name] => HEIZBETRIEB
                        )

                    [5] => stdClass Object
                        (
                            [id] => B5
                            [name] => WARMWASSERBETRIEB
                        )

                    [6] => stdClass Object
                        (
                            [id] => B6
                            [name] => VERDICHTER
                        )

                    [7] => stdClass Object
                        (
                            [id] => B7
                            [name] => SOMMERBETRIEB
                        )

                    [8] => stdClass Object
                        (
                            [id] => B8
                            [name] => KUEHLBETRIEB
                        )

                    [9] => stdClass Object
                        (
                            [id] => B9
                            [name] => ABTAUBETRIEB
                        )

                    [10] => stdClass Object
                        (
                            [id] => B10
                            [name] => SILENTMODE 1
                        )

                    [11] => stdClass Object
                        (
                            [id] => B11
                            [name] => SILENTMODE 2
                        )

                )

            [name] => BETRIEBSSTATUS
            [info] => 
        )

    [1] => stdClass Object
        (
            [webID] => 488
            [infoNr] => 116
            [webType] => 6
            [readOnly] => 1
            [presentation] => 2
            [step] => 0
            [unit] => 
            [value] => 0
            [minValue] => 0
            [maxValue] => 0
            [options] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => B0
                            [name] => EVU SPERRE
                        )

                )

            [name] => EVU SPERRE
            [info] => 
        )

    [2] => stdClass Object
        (
            [webID] => 485
            [infoNr] => 20062
            [webType] => 6
            [readOnly] => 1
            [presentation] => 2
            [step] => 1
            [unit] => 
            [value] => 65
            [minValue] => 0
            [maxValue] => 0
            [options] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => B0
                            [name] => HEIZKREISPUMPE
                        )

                    [1] => stdClass Object
                        (
                            [id] => B1
                            [name] => MISCHERPUMPE
                        )

                    [2] => stdClass Object
                        (
                            [id] => B2
                            [name] => MISCHER AUF
                        )

                    [3] => stdClass Object
                        (
                            [id] => B3
                            [name] => MISCHER ZU
                        )

                    [4] => stdClass Object
                        (
                            [id] => B4
                            [name] => NHZ 1
                        )

                    [5] => stdClass Object
                        (
                            [id] => B5
                            [name] => NHZ 2
                        )

                    [6] => stdClass Object
                        (
                            [id] => B6
                            [name] => QUELLENPUMPE
                        )

                    [7] => stdClass Object
                        (
                            [id] => B7
                            [name] => PUFFELADEPUMPE
                        )

                    [8] => stdClass Object
                        (
                            [id] => B9
                            [name] => WARMWASSERVENTIL
                        )

                    [9] => stdClass Object
                        (
                            [id] => B13
                            [name] => KUEHLBETRIEB
                        )

                    [10] => stdClass Object
                        (
                            [id] => B14
                            [name] => VERDICHTERSCHUETZ
                        )

                )

            [name] => STATUS
            [info] => 
        )

    [3] => stdClass Object
        (
            [webID] => 481
            [infoNr] => 1640
            [webType] => 6
            [readOnly] => 1
            [presentation] => 2
            [step] => 1
            [unit] => min
            [value] => 0
            [minValue] => 0
            [maxValue] => 0
            [name] => RESTSTILLSTAND
            [info] => 
        )

)

...

Der zurückgelieferte Wert von z.B. 65 für die WebID 485 muss binär dekodiert werden (es gibt im Loxwiki eine Anleitung für einen 16-Bit Binärdekoder von Christian Fenzl, siehe Eine 16 bit Zahl in einzelne Bits zerlegen). Danke nochmal dafür!

...

Geschrieben werden die Werte über die im ISG web bereits vorhandene Webseite /save.php. Hierfür , die auch beim Verändern von Werten über das Menü des ISG web verwendet wird. Hierfür legt man zunächst einen virtuellen Ausgangsverbinder mit der URL http://<ip-adresse-wp> an, wobei die IP-Adresse des eigenen ISG web verwndet wird. Darunter werden virtuelle Ausgang Befehle erstellt. Die Einstellung der Komforttemperatur wird z.B. über die Variable "val16" gesteuert. Dies entspricht der WebID für diesen Parameter und er kann über die Hauptseite /params.php mit Hinweisen angezeigt werden. Die folgenden Werte sind für den Baustein anzugeben:

...