[gelöst] Homebridge Mapping: Rollo on/off (X10)

Begonnen von stratmaster, 02 Oktober 2021, 21:03:38

Vorheriges Thema - Nächstes Thema

stratmaster

Liebes Forum,

ich benötige Unterstützung beim Anlegen eines passenden Mappings für Homebridge. Ich nutze zuhause noch ein paar ältere X10 Rolladensteuerungen, die zwar keinen Status senden aber noch funktionieren.
In Homebridge würde ich diese nun gerne als Rollo (blind) anzeigen und lediglich die beiden Positionen offen und geschlossen steuern (Zwischenstufen benötige ich dort nicht). Ich bekomme die Schalter zwar in Homebridge angezeigt und kann sie auch betätigen, aber der fhem-Status wird nicht ausgelesen/aktualisiert (siehe auch die Fehlermeldung unten). Beim Anlegen von homebridgeMapping und userReadings habe ich mich an diesem Listing orientiert: https://forum.fhem.de/index.php/topic,59157.msg505564.html#msg505564

Hier mein Versuch:

Internals:
   BRIGHT     210
   DEF        lm12 A 5
   FUUID      5c571a81-f33f-15bd-303c-bcf0588214d2ac77
   HOUSE      A
   IODev      X10
   MODEL      lm12
   NAME       X_Bad
   NR         39
   ONOFF      0
   STATE      geschlossen
   TYPE       X10
   UNIT       5
   READINGS:
     2021-10-01 11:30:37   IODev           X10
     2021-10-02 19:16:33   dimmer          100
     2021-10-02 19:16:33   onoff           0
     2021-10-02 19:16:33   state           off
   internals:
     interfaces dimmer
Attributes:
   IODev      X10
   alias      Bad
   devStateIcon offen:fts_shutter_10 schatten:fts_shutter_20 halb:fts_shutter_50 geschlossen:fts_shutter_100
   eventMap   /on:offen/dimdown 50:schatten/dimdown 100:halb/off:geschlossen
   genericDeviceType blind
   group      Rolladen
   homebridgeMapping clear CurrentPosition=position,minValue=0,maxValue=100,minStep=100 TargetPosition=position,minValue=0,maxValue=100,minStep=100,cmds=0:geschlossen;;/.*/:offen
   icon       fts_shutter_updown
   onOffDevice true
   room       Bad,Rolladen
   sortby     06
   userReadings position {(ReadingsVal($NAME,"state","offen") eq "offen")?100:0}
   webCmd     offen:schatten:halb:geschlossen


Damit bekomme ich jedoch folgende Fehlermeldung:

[2021-10-2 8:41:40 PM] [FHEM] X_Bad-position not a number:
[2021-10-2 8:41:40 PM] [homebridge-fhem] This plugin generated a warning from the characteristic 'Current Position': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.


Ich würde mich sehr über Hinweise freuen, wie ein korrektes Mapping aussehen könnte,
Benedikt

stratmaster

Ich habe etwas weiter recherchiert und habe mittlerweile den Verdacht, dass das X10-Modul möglicherweise keine UserReadings unterstützt. Dieses Problem wurde hier mit Blick auf ein anderes Modul diskutiert: https://forum.fhem.de/index.php/topic,106892.0.html

Wenn dem so ist, hätte jemand vielleicht einen Tipp, ob und wenn ja auf welche Weise das Modul händisch um eine solche Funktion ergänzt werden kann? Hinweise gibt es wohl hier (https://wiki.fhem.de/wiki/DevelopmentModuleAPI#readingsBeginUpdate), aber dafür fehlt mir leider die Expertise. Oder gibt es eine andere Möglichkeit?

Danke und viele Grüße,
Benedikt

stratmaster

Für den Fall, dass es für andere Personen aus dem Forum von Interesse ist – ich habe es nun folgendermaßen lösen können (Umweg über dummy und DOIF):


define Bad_Rollo dummy
attr Bad_Rollo devStateIcon ope.*:fts_shutter_20:close clos.*:fts_shutter_80:open
attr Bad_Rollo icon fts_shutter
attr Bad_Rollo genericDeviceType blind
attr Bad_Rollo setList open close
attr Bad_Rollo webCmd open:close
attr Bad_Rollo homebridgeMapping clear CurrentPosition=position,minValue=0,maxValue=100,minStep=100 TargetPosition=position,minValue=0,maxValue=100,minStep=100,cmds=0:close;;/.*/:open
attr Bad_Rollo userReadings position {(ReadingsVal($NAME,"state","open") eq "open")?100:0}



define di_bad DOIF ([Bad_Rollo:"open"]) (set X_Bad on) DOELSEIF ([Bad_Rollo:"close"]) (set X_Bad off)


Viele Grüße,
Benedikt

Beta-User

#3
Hier mal der Versuch, das Modul betr. der Zugriffe auf die Readings (und readingFnAttributes) auf Stand zu bringen. Kann aber nur behaupten, dass es lädt...

Damit sollten zumindest trigger generiert werden (und damit auch die Infos direkt an Homebridge u.a. weitergegeben werden).

Ansonsten wäre die Frage, ob nicht ROLLO ein gutes "Zwischenmodul" wäre (wobei X10 selbst ja auch level-Kommandos zu unterstützen scheint).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

#4
Sorry, du warst sehr schnell mit dem download, da war leider noch ein kleiner Bug drin, aktualisierte Fassung anbei.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

stratmaster

Super, vielen Dank - ich probiere es (vermutlich heute Abend) einmal aus und melde mich wieder!

Beta-User

Hattest du schon Gelegenheit zum Testen? Wenn alles ok wäre, könnte man den Maintainer anpingen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

stratmaster

Heute Abend habe ich endlich Zeit gefunden, das von dir angepasste Modul zu testen. Bislang scheint alles zu funktionieren: Das Rollo wird in Homebridge angezeigt und reagiert auch wie gewünscht (vom Gefühl her sogar flotter, als über meine dummy/DOIF-Behelfslösung).
Insofern: Vielen Dank für deine Hilfe!


Beta-User

Danke, hab's mal weitergegeben. Bitte melden, falls doch noch was auffällig sein sollte.
Es nutzt jetzt halt die Standardroutinen, that's all... So viel sollte es nicht ausmachen, aber es schadet (hoffentlich) auch nicht 8) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

stratmaster

Danke für's Weitergeben - ich melde mich, sollte mir im Nachgang noch etwas auffallen.

Dr. Boris Neubert

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files