[73_AutoShuttersControl] und die Besonderheiten der LCN Jalousie-Steuerung

Begonnen von SebastianStorb, 12 Mai 2020, 06:55:35

Vorheriges Thema - Nächstes Thema

Beta-User

Müßte man mal austesten, ob man dem rP mit "event-on-update-reading .*" "ASC-Kompabilität" beibringen könnte.

Habe jetz doch den Link zu dem Modul mal rausgekramt: https://forum.fhem.de/index.php/topic,19678.msg132793.html#msg132793; da steht nicht viel, außer einem Link auf github: https://raw.githubusercontent.com/meyer-solutions/fhem_lcn/master/FHEM/98_LCN.pm und dem Hinweis, dass die Einzelbefehle da irgendwie als Subdevices angelegt sind:
Zitat von: lcnfrosch am 21 Juli 2015, 16:40:00
Mein Modul arbeitet nur mit Software "linHK" zusammen!! 
Es gibt leider aktuell keine andere Möglichkeit...

Wer diese Software gekauft hat, kann dann mit meinem Modul eine Verbindung herstellen:

z.B.
define LCN LCN linhk 192.168.1.20
attr LCN fm_type 1
attr LCN verbose 3


Das Modul lauscht auf alle Kommandos auf dem LCN-Bus und fügt per Autocreate neue Module hinzu.

Befehle sehen so z.B. aus:


set LCN_000012A1 off
set LCN_000009A1 Free RL-----1--
set LCN_000001A1 K---00000100


"Free" sendet PCK Behle auf den Bus
"K" sendet eine Taste lauf PCKe

Jedenfalls scheint es Möglichkeiten zu geben, diese Subdevices passend zu konfigurieren:
Zitat von: lcnfrosch am 13 November 2017, 08:10:09
Hallo,

hier mein Beispiel über die  setFn-Funktion:

setList: runter hoch stop
setFn: {($CMD eq "stop")?"Free RL00------"$CMD eq "runter"?"Free RL11------":"Free RL10------")}

gesendet an LCN_000005Rx0.
Da die Commandref schlicht den Text von FHZ zu enthalten schein, bringt uns das kaum weiter, aber das klingt jedenfalls danach, als wäre es möglich, einen Rollladen auch in einem Device zu halten?

Demnach wäre die setFn irgendwie anzupassen (sieht ähnlich aus wie readingsProxy)?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

SebastianStorb

#16
Teil 1 (anonymisiertes, aber vollständiges list lcn
Internals:
   DEF        linhk 192.168.20.200
   DeviceName 192.168.20.200:4114
   FD         96
   FUUID      5eaa824d-f33f-ec85-462e-7df89575257f6e95
   FVERSION   98_LCN.pm:?/2020-04-30
   LCN_MSGCNT 19
   LCN_TIME   2020-05-14 07:00:00
   NAME       LCN
   NR         411
   PARTIAL   
   RAWMSG     :M000016A2000
   STATE      Initialized
   TYPE       LCN
   READINGS:
     2020-05-14 10:00:08   state           Initialized
Attributes:
   password   geheim
   room       LCN
   username   supergeheim


Teil 2 vollständiges list LCN_Sebastian_Jalousie_auf
Internals:
   DEF        LCN 000 008 A 1
   DEF_CODE   000008A1
   FUUID      5eaab955-f33f-ec85-ce7a-0bf69c23915dbf5c
   FVERSION   98_LCN.pm:?/2020-04-30
   IODev      LCN
   LASTInputDev LCN
   LCN_MSGCNT 2
   LCN_RAWMSG :M000008A1100
   LCN_TIME   2020-05-14 07:00:00
   MSGCNT     2
   NAME       LCN_Sebastian_Jalousie_auf
   NOTIFYDEV  LCN
   NR         427
   NotifyFn   LCN_Notify
   STATE      100
   TYPE       LCN
   chnl       1
   cmd        A
   module     008
   segment    000
   READINGS:
     2020-05-14 07:00:00   state           100
   helper:
Attributes:
   IODev      LCN
   devStateIcon {(LCN_devStateIcon($name),"toggle")}
   room       LCN


Teil 3 vollständiges list LCN_Sebastian_Jalousie_zu
Internals:
   DEF        LCN 000 008 A 2
   DEF_CODE   000008A2
   FUUID      5eaab926-f33f-ec85-5e34-747118d6a517e8fc
   FVERSION   98_LCN.pm:?/2020-04-30
   IODev      LCN
   LASTInputDev LCN
   LCN_MSGCNT 2
   LCN_RAWMSG :M000008A2000
   LCN_TIME   2020-05-14 07:00:00
   MSGCNT     2
   NAME       LCN_Sebastian_Jalousie_zu
   NOTIFYDEV  LCN
   NR         425
   NotifyFn   LCN_Notify
   STATE      000
   TYPE       LCN
   chnl       2
   cmd        A
   module     008
   segment    000
   READINGS:
     2020-05-14 07:00:00   state           000
   helper:
Attributes:
   IODev      LCN
   devStateIcon {(LCN_devStateIcon($name),"toggle")}
   room       LCN


Mit dem benötigten Notyfy bin ich überfordert, den list LCN_Notify gibt die Antwort:
No device named LCN_Notify found


Subdevices gibt es nicht. Die erwähnte Zusatzt-Software habe ich nicht - und ist zur Steuerung von Licht, Jalousie und allem Anderen bisher nicht nötig gewesen. Die Devices legen sich nach manueller Betätigung am Taster automatisch in FHEM an.

Ja - es bleibt auf "Initialized" und funktioniert damit. Sonst gibt es noch "Disconnected"

Beta-User

Kannst du mal aufschreiben, welche Attribute du z.B. in LCN_Sebastian_Jalousie_auf setzen kannst? (Das geht vermulich nicht so einfach automatisiert).

Insbesondere interessiert mich, ob setFn oder setList vorhanden sind (oder was, was in die Richtung klingt).

Oder noch anders: mach mal an einem ein webCmd hin:
attr LCN_Sebastian_Jalousie_auf webCmd pct

Vermutlich reicht dann der eine Kanal, um den Rollladen zu steuern. (Nur: wie geht das mit dem stop?)

Für ASC dürfte es dann auch kein Thema sein, nur den einen Kanal als Rollladen anzusehen, den 2. braucht man für ASC vermutlich gar nicht.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

SebastianStorb

#18
es gibt folgende Möglichkeiten zur Auswahl (die teilweise aber nur zur Steuerung des Licht am UMR-UPP funktionieren)
set LCN_Sebastian_Jalousie_auf

add
blink
intervals
off
off-for-timer
off-till
off-till-overnight
on
on-for-timer
on-till
on-till-overnight
pct
remove
state
status-request
toggle


Bisher habe ich nur on/off (funktioniert) und pct (funktioniert nicht beim Rollo aber zum Dimmen von Licht) ausprobiert.

Stopp funktioniert wie beim Licht: on Rolladen läuft - off bleibt stehen.
Auf oder zu wird über den jeweiligen "Kanal" gesteuert daher jeweils ein Schalter "auf" und "zu"
also
LCN_Sebastian_Jalousie_auf    on | off
LCN_Sebastian_Jalousie_zu     on | off

Beta-User

Schade. Kannst du mal einen der Rollladen auf eine Zwischenposition fahren, (also da anhalten) und dann bitte die Events mitschneiden der beiden zugehörigen Devices?

(Stichwort im Wiki: Event-Monitor, die Ereignisse bitte per devspec auf nur diese beiden Devices (und ggf. das "Hauptdevice") filtern).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

SebastianStorb

Ja, werde ich machen. Es wird aber bis heute Abend dauern, weil ich mir das Wiki noch durchlesen muss.

Beta-User

Kein Ding.

Es geht vor allem darum rauszufinden, ob "100" bzw. "0" nur ein Relais-Zustand ist (also digital) oder ob es Zwischenwerte geben kann. Ist es ein reiner Relais-Zustand, bist du bei ROLLO sehr gut aufgehoben.
Gibt es Zwischenzustände, kann die Hardware die Timings selber überwachen. Das wäre dann wahrscheinlich genauer als es "per Software und von ferne" mit ROLLO zu machen. Aber vermutlich solltest du dich auch gleich in ROLLO einlesen (Event-Monitor-"Kenntnisse" zu haben ist trotzdem nie ein Fehler!).

Falls es wirklich Jalousien sind, können wir ggf. später nochmal das Thema Lamellensteuerung vertiefen, wenn die Pct-Ansteuerung via ROLLO läuft ;) .

Wenn es für Licht pct-Befehle gibt, wird dort vermutlich ein PWM-Dimmer angesteuert, was aber nichts mit zwei Relais zu tun hat. Hatte nur im Code gesehen, dass es diesen Setter geben müßte...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

SebastianStorb

#22
Ich komme heute nicht weiter: Das sind erst einmal die Antworten aus dem Event Monitor wenn ich die Rollos öffne, anhalte schließe und anhalte.
2020-05-14 20:42:17 LCN LCN_Sebastian_Jalousie_auf on
2020-05-14 20:42:17 LCN LCN_Sebastian_Jalousie_auf 100
2020-05-14 20:42:30 LCN LCN_Sebastian_Jalousie_auf off
2020-05-14 20:42:30 LCN LCN_Sebastian_Jalousie_auf 000
2020-05-14 20:42:59 LCN LCN_Sebastian_Jalousie_zu on
2020-05-14 20:42:59 LCN LCN_Sebastian_Jalousie_zu 100
2020-05-14 20:43:33 LCN LCN_Sebastian_Jalousie_zu off
2020-05-14 20:43:33 LCN LCN_Sebastian_Jalousie_zu 000


Mit dem Notify bekomme ich zwar angelegt muss aber noch mal die Anleitung lesen, weil sonst nichts angezeigt wird bzw. rauskommt.

Beta-User

Das mit dem notify verstehe ich nicht, aber der (leider nicht in Code-Tags verpackte) Auszug aus dem Event-Monitor zeigt m.E. deutlich, dass es tatsächlich nur 0 bzw. 100 gibt (ich war etwas unsicher gewesen, weil im ersten Post was von 050 zu lesen war:
Zitat von: SebastianStorb am 12 Mai 2020, 06:55:35
Wenn ich die PCT Einstellung (2="pct") ausführe fährt die Jalousie leider nicht (stellt aber den Wert in FHEM auf 050).
War aber wohl Wunschlesemodus meinerseits...)

Hier brauchst du m.E. kein notify, sondern du kannst und mußt das "ganz klassisch" mit ROLLO lösen. Bitte daher dazu die Doku zu Rate ziehen, sollte relativ einfach gehen, was du da an Kanal-Devices hast (LCN_Sebastian_Jalousie_auf bzw ...zu) sind "ganz normale Einzelralais", nur eben speziell angesteuert.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Beta-User

Zitat von: juergen012 am 15 Mai 2020, 10:33:12
Was mache ich falsch???
...fremde Threads kapern!

Das hat NICHTS mit der Ausgangsfrage zu tun...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors


SebastianStorb

ZitatCode-Tags verpackte)
zu 1.) Code - habe ich korrigiert, sollte jetzt korrekt sein. Danke noch mal für den Hinweis
ZitatWar aber wohl Wunschlesemodus meinerseits...)
zu 2.)Ja - es ist möglich set  LCN_Sebastian_Jalousie_auf pct 8 zu setzen, dann kommt folgendes als Ergebnis
Internals:
   DEF        LCN 000 008 A 1
   DEF_CODE   000008A1
   FUUID      5eaab955-f33f-ec85-ce7a-0bf69c23915dbf5c
   FVERSION   98_LCN.pm:?/2020-04-30
   IODev      LCN
   LASTInputDev LCN
   LCN_MSGCNT 44
   LCN_RAWMSG :M000008A1008
   LCN_TIME   2020-05-15 12:23:45
   MSGCNT     44
   NAME       LCN_Sebastian_Jalousie_auf
   NOTIFYDEV  LCN
   NR         427
   NotifyFn   LCN_Notify
   STATE      008
   TYPE       LCN
   chnl       1
   cmd        A
   module     008
   segment    000
   READINGS:
     2020-05-15 12:23:45   state           008
   helper:
Attributes:
   IODev      LCN
   devStateIcon {(LCN_devStateIcon($name),"toggle")}
   room       LCN

Nur leider fährt das Rollo dann (noch) nicht auf diese Position, obwohl es von Seiten LCN möglich sein sollte, denn in der LCN "Haussoftware" lässt sich das auch so positionieren. Da muss ich noch herausfinden woran es liegt  - der LCN-UMR kann es wohl angeblich.

Beta-User

Hmm, also alles in allem scheint entweder die externe Steuerung oder eben das Modul noch nicht ausgereift zu sein...

Leider ist das ohne direktes "Spielen" mit so einer Hardware ziemliche Kaffeesatzleserei (kein Vorwurf, eher Feststellung). Interessant wäre ggf. noch, ob es externe Steuerungsmöglichkeiten gibt (in dieser externen Software, auf einem Web-Interface (die IP-Adresse zeigt ja irgendwo hin) oder z.B. durch irgendwelche Hardwaretaster, eben irgendwas, was nicht direkt was mit FHEM zu tun hat...) und wie sich dann die Events bzw. Readings verhalten.

Mit einem gewissen Restrisiko (dass es GEWALTIG schief geht!) könntest du auch mal versuchen, ob es einen Kanal A0 gibt:
define LCN_Sebastian_Jalousie LCN 000 008 A 0Vielleicht nimmt das dann pct-Befehle an (oder tut entweder gar nichts oder resettet im schlimmsten Fall die ganze Steuerung, k.A....).

Sonst müßtest du versuchen, irgendwie das Modul selbst aufzubohren oder mal zu sehen, ob es insbesondere mit HTTPMOD nicht bessere Möglichkeiten gäbe, das anzuzapfen (ich nehme das dann gerne als attrTemplate auf, und da werden die credentials auch nicht im Klartext gespeichert). Allerdings wäre es dann besser, du würdest nach jemandem suchen, der dir da besser weiterhelfen kann, ich bin da völlig unbeleckt. (@CoolTux: HTTPMOD war auch nicht dein Spezialgebiet, afaik?).

Dazu solltest du dann aber einen eigenen Thread aufmachen und den Quelltext der IP-Adresse usw. liefern können.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors