[gelöst] viele Tabellen aus Webseite in Readings einlesen

Begonnen von prenzela, 08 Oktober 2024, 09:39:01

Vorheriges Thema - Nächstes Thema

prenzela

Hallo zusammen,

ich habe eine ältere Hausautomatisierung von PEHA, PHC im Einsatz. Das Steuermodul ist ein STM942 mit Firmware 3.29. Theoretisch müsste es möglich sein, dass das Modul eine http Befehl nach Umschaltung eines Ausgangs absetzt. Siehe auch hier "https://forum.fhem.de/index.php?topic=20536.msg140680#msg140680" Leider macht es das aus irgendwelchen Gründen nicht. Das versuche ich noch mit PEHA zu klären. Aber ob es noch Support von dort gibt, ist fraglich, da das System seit langer Zeit abgekündigt ist. Nun stellt das System aber auch eine Webseite mit den Schaltzuständen aller Module zur Verfügung. Das sind über 20 Tabellen auf dieser Webseite.

Die Website kann von FKEM mit httpmod ausgelesen werden. Aber wie  liest man die Tabellen so ein (ab Modul 40, das sind die PHC Ausgangsmodule), dass für jeden Ausgang ein Reading in FHEM erzeugt wird ?

Ich habe es mal probiert mit (Beispiel) Wäre eben ein Reading pro PEHA Ausgangkanal). Das funktioniert aber nicht.
attr PHCSTM reading01Regex <tr><td>1</td><td>\d+</td><td>(\d+)</td>
attr PHCSTM reading01-6Name Mod40Chan1

Hat jemand das schon mal gemacht oder hat einen Ansatz (ggf. schon was fertiges) dazu, JSON, Python etc.
Wäre für jede Hilfe dankbar. Ohne funktionierende Rückmeldung macht die Verknüpfung zweier Hausautomatisierungen keinen Sinn.

Grüße
Andreas

prenzela

Ich konnte das Problem lösen evtl. hilft es ja jemand. Ich kann mir endlich damit die PHC Stati der Ausgansmodule in FHEM visualisieren.

Lösungsansatz:

Zuerst ein neues httpmod Device anlegen und damit das PHC Steuermodul zyklisch abfragen

Jedes PHC Modul hat 16 Kanäle. Ich habe 24 PHC Module verbaut. Somit finden sich in der html Datei 24 Tabellen mit je 16 Stati der Kanäle der Module.

die  jeweiligen Stati Kanäle konnte ich mit RegEx selektieren und mit RegExOpt "g" auch alle Werte in Readings überführen.
Danke an "https://forum.fhem.de/index.php?topic=114097.0"
Somit hab ich für jeden Kanal nun 24 (+1) Readings. Im weiteren Verlauf kann ich dann diese Readings visualisieren (z.B. Kanal7 vom Modul 8 wäre Rückmeldung Wohnzimmer Licht an/aus).

define PHCSTM HTTPMOD http://192.168.178.138/modulestates.html
attr PHCSTM reading00Name CH00
attr PHCSTM reading00RegOpt g
attr PHCSTM reading00Regex <tr><td>0</td><td>\d+</td><td>(\d+)</td>
attr PHCSTM reading01Name CH01
attr PHCSTM reading01RegOpt g
attr PHCSTM reading01Regex <tr><td>1</td><td>\d+</td><td>(\d+)</td>
attr PHCSTM reading02Name CH02
attr PHCSTM reading02RegOpt g
attr PHCSTM reading02Regex <tr><td>2</td><td>\d+</td><td>(\d+)</td>
attr PHCSTM reading03Name CH03
attr PHCSTM reading03RegOpt g
attr PHCSTM reading03Regex <tr><td>3</td><td>\d+</td><td>(\d+)</td>
attr PHCSTM reading04Name CH04
attr PHCSTM reading04RegOpt g
attr PHCSTM reading04Regex <tr><td>4</td><td>\d+</td><td>(\d+)</td>
attr PHCSTM reading05Name CH05
attr PHCSTM reading05RegOpt g
attr PHCSTM reading05Regex <tr><td>5</td><td>\d+</td><td>(\d+)</td>
attr PHCSTM reading06Name CH06
attr PHCSTM reading06RegOpt g
attr PHCSTM reading06Regex <tr><td>6</td><td>\d+</td><td>(\d+)</td>
attr PHCSTM reading07Name CH07
attr PHCSTM reading07RegOpt g
attr PHCSTM reading07Regex <tr><td>7</td><td>\d+</td><td>(\d+)</td>
attr PHCSTM room Training
#   BUSY       0
#   CFGFN     
#   DEF        http://192.168.178.138/modulestates.html
#   FUUID      6702da84-f33f-3e5d-b40a-ee72a9a2925c63f3
#   Interval   60
#   MainURL    http://192.168.178.138/modulestates.html
#   ModuleVersion 4.2.0 - 11.8.2023
#   NAME       PHCSTM
#   NOTIFYDEV  global
#   NR         62
#   NTFY_ORDER 50-PHCSTM
#   STATE      ???
#   TYPE       HTTPMOD
#   eventCount 549
#   value     
#   CompiledRegexes:
#   HttpUtils:
#     NAME       
#     addr       http://192.168.178.138:80
#     auth       0
#     code       200
#     compress   1
#     conn       
#     data       
#     displayurl http://192.168.178.138/modulestates.html
#     header     
#     host       192.168.178.138
#     httpheader HTTP/1.0 200 OK
#Content-type: text/html
#     httpversion 1.0
#     hu_blocking 0
#     hu_filecount 1
#     hu_port    80
#     hu_portSfx
#     ignoreredirects 1
#     loglevel   4
#     path       /modulestates.html
#     protocol   http
#     redirects  0
#     timeout    2
#     url        http://192.168.178.138/modulestates.html
#     sslargs:
#   OLDREADINGS:
#   QUEUE:
#   READINGS:
#     2024-10-08 19:49:40   CH00-1          1
#     2024-10-08 19:49:40   CH00-10         0
#     2024-10-08 19:49:40   CH00-11         0
#     2024-10-08 19:49:40   CH00-12         0
#     2024-10-08 19:49:40   CH00-13         0
#     2024-10-08 19:49:40   CH00-14         0
#     2024-10-08 19:49:40   CH00-15         0
#     2024-10-08 19:49:40   CH00-16         1
#     2024-10-08 19:49:40   CH00-17         0
#     2024-10-08 19:49:40   CH00-18         1
#     2024-10-08 19:49:40   CH00-19         0
#     2024-10-08 19:49:40   CH00-2          1
#     2024-10-08 19:49:40   CH00-20         0
#     2024-10-08 19:49:40   CH00-21         0
#     2024-10-08 19:49:40   CH00-22         0
#     2024-10-08 19:49:40   CH00-23         0
#     2024-10-08 19:49:40   CH00-24         0
#     2024-10-08 19:49:40   CH00-3          1
#     2024-10-08 19:49:40   CH00-4          1
#     2024-10-08 19:49:40   CH00-5          1
#     2024-10-08 19:49:40   CH00-6          0
#     2024-10-08 19:49:40   CH00-7          0
#     2024-10-08 19:49:40   CH00-8          0
#     2024-10-08 19:49:40   CH00-9          0
#     2024-10-08 19:49:40   CH01-1          1
#     2024-10-08 19:49:40   CH01-10         0
#     2024-10-08 19:49:40   CH01-11         0
#     2024-10-08 19:49:40   CH01-12         0
#     2024-10-08 19:49:40   CH01-13         0
#     2024-10-08 19:49:40   CH01-14         0
#     2024-10-08 19:49:40   CH01-15         0
#     2024-10-08 19:49:40   CH01-16         1
#     2024-10-08 19:49:40   CH01-17         0
#     2024-10-08 19:49:40   CH01-18         1
#     2024-10-08 19:49:40   CH01-19         0
#     2024-10-08 19:49:40   CH01-2          1
#     2024-10-08 19:49:40   CH01-20         0
#     2024-10-08 19:49:40   CH01-21         0
#     2024-10-08 19:49:40   CH01-22         0
#     2024-10-08 19:49:40   CH01-23         0
#     2024-10-08 19:49:40   CH01-24         0
#     2024-10-08 19:49:40   CH01-3          1
#     2024-10-08 19:49:40   CH01-4          1
#     2024-10-08 19:49:40   CH01-5          1
#     2024-10-08 19:49:40   CH01-6          0
#     2024-10-08 19:49:40   CH01-7          0
#     2024-10-08 19:49:40   CH01-8          0
#     2024-10-08 19:49:40   CH01-9          0
#     2024-10-08 19:49:40   CH02-1          1
#     2024-10-08 19:49:40   CH02-10         0
#     2024-10-08 19:49:40   CH02-11         0
#     2024-10-08 19:49:40   CH02-12         0
#     2024-10-08 19:49:40   CH02-13         0
#     2024-10-08 19:49:40   CH02-14         0
#     2024-10-08 19:49:40   CH02-15         0
#     2024-10-08 19:49:40   CH02-16         0
#     2024-10-08 19:49:40   CH02-17         0
#     2024-10-08 19:49:40   CH02-18         0
#     2024-10-08 19:49:40   CH02-19         0
#     2024-10-08 19:49:40   CH02-2          1
#     2024-10-08 19:49:40   CH02-20         0
#     2024-10-08 19:49:40   CH02-21         0
#     2024-10-08 19:49:40   CH02-22         0
#     2024-10-08 19:49:40   CH02-23         0
#     2024-10-08 19:49:40   CH02-24         0
#     2024-10-08 19:49:40   CH02-3          1
#     2024-10-08 19:49:40   CH02-4          1
#     2024-10-08 19:49:40   CH02-5          1
#     2024-10-08 19:49:40   CH02-6          0
#     2024-10-08 19:49:40   CH02-7          0
#     2024-10-08 19:49:40   CH02-8          0
#     2024-10-08 19:49:40   CH02-9          0
#     2024-10-08 19:49:40   CH03-1          0
#     2024-10-08 19:49:40   CH03-10         0
#     2024-10-08 19:49:40   CH03-11         0
#     2024-10-08 19:49:40   CH03-12         0
#     2024-10-08 19:49:40   CH03-13         0
#     2024-10-08 19:49:40   CH03-14         0
#     2024-10-08 19:49:40   CH03-15         0
#     2024-10-08 19:49:40   CH03-16         0
#     2024-10-08 19:49:40   CH03-17         0
#     2024-10-08 19:49:40   CH03-18         0
#     2024-10-08 19:49:40   CH03-19         0
#     2024-10-08 19:49:40   CH03-2          0
#     2024-10-08 19:49:40   CH03-20         0
#     2024-10-08 19:49:40   CH03-21         0
#     2024-10-08 19:49:40   CH03-22         0
#     2024-10-08 19:49:40   CH03-23         0
#     2024-10-08 19:49:40   CH03-24         0
#     2024-10-08 19:49:40   CH03-3          1
#     2024-10-08 19:49:40   CH03-4          1
#     2024-10-08 19:49:40   CH03-5          1
#     2024-10-08 19:49:40   CH03-6          0
#     2024-10-08 19:49:40   CH03-7          0
#     2024-10-08 19:49:40   CH03-8          0
#     2024-10-08 19:49:40   CH03-9          0
#     2024-10-08 19:49:40   CH04-1          0
#     2024-10-08 19:49:40   CH04-10         0
#     2024-10-08 19:49:40   CH04-11         0
#     2024-10-08 19:49:40   CH04-12         0
#     2024-10-08 19:49:40   CH04-13         0
#     2024-10-08 19:49:40   CH04-14         0
#     2024-10-08 19:49:40   CH04-15         0
#     2024-10-08 19:49:40   CH04-16         0
#     2024-10-08 19:49:40   CH04-17         0
#     2024-10-08 19:49:40   CH04-18         0
#     2024-10-08 19:49:40   CH04-19         0
#     2024-10-08 19:49:40   CH04-2          1
#     2024-10-08 19:49:40   CH04-20         0
#     2024-10-08 19:49:40   CH04-21         0
#     2024-10-08 19:49:40   CH04-22         0
#     2024-10-08 19:49:40   CH04-23         0
#     2024-10-08 19:49:40   CH04-24         0
#     2024-10-08 19:49:40   CH04-3          1
#     2024-10-08 19:49:40   CH04-4          1
#     2024-10-08 19:49:40   CH04-5          1
#     2024-10-08 19:49:40   CH04-6          0
#     2024-10-08 19:49:40   CH04-7          1
#     2024-10-08 19:49:40   CH04-8          1
#     2024-10-08 19:49:40   CH04-9          1
#     2024-10-08 19:49:40   CH05-1          0
#     2024-10-08 19:49:40   CH05-10         0
#     2024-10-08 19:49:40   CH05-11         0
#     2024-10-08 19:49:40   CH05-12         0
#     2024-10-08 19:49:40   CH05-13         0
#     2024-10-08 19:49:40   CH05-14         0
#     2024-10-08 19:49:40   CH05-15         0
#     2024-10-08 19:49:40   CH05-16         0
#     2024-10-08 19:49:40   CH05-17         0
#     2024-10-08 19:49:40   CH05-18         0
#     2024-10-08 19:49:40   CH05-19         0
#     2024-10-08 19:49:40   CH05-2          1
#     2024-10-08 19:49:40   CH05-20         0
#     2024-10-08 19:49:40   CH05-21         0
#     2024-10-08 19:49:40   CH05-22         0
#     2024-10-08 19:49:40   CH05-23         0
#     2024-10-08 19:49:40   CH05-24         0
#     2024-10-08 19:49:40   CH05-3          1
#     2024-10-08 19:49:40   CH05-4          1
#     2024-10-08 19:49:40   CH05-5          1
#     2024-10-08 19:49:40   CH05-6          0
#     2024-10-08 19:49:40   CH05-7          0
#     2024-10-08 19:49:40   CH05-8          1
#     2024-10-08 19:49:40   CH05-9          0
#     2024-10-08 19:49:40   CH06-1          1
#     2024-10-08 19:49:40   CH06-10         0
#     2024-10-08 19:49:40   CH06-11         1
#     2024-10-08 19:49:40   CH06-12         0
#     2024-10-08 19:49:40   CH06-13         0
#     2024-10-08 19:49:40   CH06-14         0
#     2024-10-08 19:49:40   CH06-15         0
#     2024-10-08 19:49:40   CH06-16         0
#     2024-10-08 19:49:40   CH06-17         1
#     2024-10-08 19:49:40   CH06-18         0
#     2024-10-08 19:49:40   CH06-19         0
#     2024-10-08 19:49:40   CH06-2          1
#     2024-10-08 19:49:40   CH06-20         0
#     2024-10-08 19:49:40   CH06-21         0
#     2024-10-08 19:49:40   CH06-22         0
#     2024-10-08 19:49:40   CH06-23         0
#     2024-10-08 19:49:40   CH06-24         0
#     2024-10-08 19:49:40   CH06-3          1
#     2024-10-08 19:49:40   CH06-4          1
#     2024-10-08 19:49:40   CH06-5          1
#     2024-10-08 19:49:40   CH06-6          0
#     2024-10-08 19:49:40   CH06-7          0
#     2024-10-08 19:49:40   CH06-8          0
#     2024-10-08 19:49:40   CH06-9          0
#     2024-10-08 19:49:40   CH07-1          0
#     2024-10-08 19:49:40   CH07-10         0
#     2024-10-08 19:49:40   CH07-11         0
#     2024-10-08 19:49:40   CH07-12         0
#     2024-10-08 19:49:40   CH07-13         0
#     2024-10-08 19:49:40   CH07-14         0
#     2024-10-08 19:49:40   CH07-15         0
#     2024-10-08 19:49:40   CH07-16         0
#     2024-10-08 19:49:40   CH07-17         1
#     2024-10-08 19:49:40   CH07-18         0
#     2024-10-08 19:49:40   CH07-19         0
#     2024-10-08 19:49:40   CH07-2          1
#     2024-10-08 19:49:40   CH07-20         0
#     2024-10-08 19:49:40   CH07-21         0
#     2024-10-08 19:49:40   CH07-22         0
#     2024-10-08 19:49:40   CH07-23         0
#     2024-10-08 19:49:40   CH07-24         0
#     2024-10-08 19:49:40   CH07-3          1
#     2024-10-08 19:49:40   CH07-4          1
#     2024-10-08 19:49:40   CH07-5          1
#     2024-10-08 19:49:40   CH07-6          0
#     2024-10-08 19:49:40   CH07-7          0
#     2024-10-08 19:49:40   CH07-8          0
#     2024-10-08 19:49:40   CH07-9          0


Grüße
Andreas