WuT Web-IO - Zerlegung HEX-Wert in Einzelbits

Begonnen von Muschelpuster, 21 November 2015, 11:36:43

Vorheriges Thema - Nächstes Thema

Muschelpuster

Hallo zusammen,

Ich habe hier einen WebIO 12xDigital von W&T. Da sind zwar 2 Inputs defekt, aber es bleiben mir ja 10 Inputs übrig  ::) Auch ist es die alte Version, aber auch die tut ihren Dienst. Leider sind diese tollen Geräte ja recht teuer und daher im FHEM-Umfeld nicht extrem im Einsatz. Für den Preis bewundere ich WuT. Die schaffen es mit wenig Energie den Preis für ihre Büchsen oben zu halten  8)
Aber zurück zum Thema - ich durfte lesen, dass es dafür sogar ein Modul gibt:
Zitat von: CommandRef"WEBIO_12DIGITAL

Note: this module needs the HTTP::Request and LWP::UserAgent perl modules.

Define
define <name> WEBIO_12DIGITAL <ip-address> <outputport> <delay>

Defines an Web-IO-Digital device (Box with up to 12 digital in/outputs, www.wut.de) via ip address. The status of the device is also pooled (delay interval).

Examples:
define motor1 WEBIO_12DIGITAL 192.168.8.200 1 60

Set
set <name> <value>

where value is one of:
       on off
   
Examples:
set motor1 on
Doch wenn ich es richtig lese, werden nur die Outputs bedient. Zudem ist nirgendwo dokumentiert, wie das Modul mit dem WebIO kommuniziert, denn dieser bietet auch diverse Interfaces zur Ansteuerung, welche jedoch im WEB-IO konfiguriert werden müssen! Kann mir dazu jemand Infos geben?
Ich will aber zuerst einmal die Inputs auswerten. Dazu habe ich mir mal einen Dummy gebaut:define WuTest1 dummy
Diesen schalte ich über die Alarmkonfig vom Web-IO entspr. den Screenshots im Anhang. Das funktioniert soweit schon mal mal ganz gut. Eine extrem kurze ON/OFF-Flanke führt dazu, dass ich kein OFF mehr bekomme, aber das kann ich vermutlich im Produktiveinsatz vernachlässigen.
Nun muss ich im Moment für 12 Eingänge auch 12 Alarmdefinitionen schreiben. Daher frage ich mich, ob ich nicht 1 Dummy anlegen könnte. Der WebIO kann mir alle Statis per HEX-Wert ausgeben. Diesen Wert hätte ich dann als Reading und müsste 12 User-Readings haben, welche dann daraus gefüttert werden. Geht das und wer kann mir hier auf die Sprünge helfen?
Dienstlich habe ich das bereits gemacht, indem ich den Wert mit 2^Inputnummer über eine logische UND-Verknüpfung gejagt habe und im Ergebnis eine Bitverschiebung nach rechts um eine der Inputnummer entsprechende Stellenanzahl vorgenommen habe. So bekomme ich 0 bzw. 1 für die Inputs 0 bis 11.

verschobene Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Muschelpuster

Ahhh, kaum schreibt man hier was, wird man mit neuen Denkansätzen versorgt. Ich habe einfach mal das Modul definiert:define test1 WEBIO_12DIGITAL 172.30.1.123 1 60
attr test1 delay 60
Um zu wissen was es macht, habe ich einen tcpdump laufen lassen und mir die Sache im Wireshark angeschaut. Und schon sieht man, dass das Modul über HTTP-GET ohne Passwort  schalten möchte. Also das Operator-PW auf dem Web-IO gelöscht und schon funktioniert das Schalten! Hier wäre es natürlich schön, wenn das Modul ein Attribut für das Passwort hätte, aber im Heimgebrauch bin ich da entspannt und dankbar für das Modul  ;)
Bleibt also noch mein Wunsch nach einem Dummy mit 12 Readings  8)

erschnüffelte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Muschelpuster

Tja, ich hatte schon fast befürchtet, dass ich hier Monologe führe  8)
Dass Thema mit der Zusammenfassung aller 12 Inputs auf einem Dummy hat sich nun auch erledigt, denn ich kann den Web-IO nicht davon überzeugen, über eine Alarmregel eine Meldung auszugeben - egal an welchem Anschluss sich was tut. Also doch 12 Dummys und 12 Alarmregeln auf dem Web-IO.
Falls doch mal jemand in den Genuß eines Web-IO-Digital kommen sollte, habe ich meine Forschungsergebnisse mal im Wiki verewigt: http://www.fhemwiki.de/wiki/WebIO_Digital
Die Inputs kommen auch noch dazu.

dokumentierte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF