Integration hm-lc-ja1pbu-fm Jalousiesteuerung

Begonnen von markus25, 25 November 2016, 15:41:43

Vorheriges Thema - Nächstes Thema

martinp876

so, hatte ich schlecht implementiert. Sollte jetzt besser sein.

Terabyte

Hallo

Der Slider für pctSlat funktioniert nun. Aber 2 Sachen sind mir aufgefallen.

1. Der Slider für pctSlat zeigt immer den Wert von pct an.

2. Wenn ich mit dem Slider pctSlat den Wert ändere, dann werden immer zuerst die Lamellen zugemacht und dann erst auf den eingestellten Wert gestellt

Gesendet von meinem XT1635-02 mit Tapatalk


daelch

Hallo Martin,

vielen Dank für Deine Mühen! Wie können wir dazu beitragen, um pctlvlslat zum Laufen zu bringen? Ich möchte nicht immer nur als Bittsteller auftreten, habe als Anfänger aber zu wenig Durchblick. Wenn Du mir ein paar Stichworte an die Hand gibst, fuchse ich aber gerne in das Thema rein, um zu helfen, den Knoten zu lösen.

Viele Grüße

martinp876

Ah, wir brauchen das Reading pctSlat.. macht euch erst einmal ein userreading.

Das mit dem erst zu dann einstellen ist fw und sicher dem Fakt geschuldet, dass der Aktor den Wert nicht rücklesen kann . Also erst einmal auf null, dann einstellen. Hm... Ist halt so.

daelch

Wie meinst Du das? Also den Aktor erst zurücksetzen in FHEM (Löschen?) und neu anlegen?

Danke für Deine Hilfe!

VG

Terabyte

Hallo Martin

Danke erst mal für deine Mühe.

Was meinst du damit dass der Aktor den Wert nicht rücklesen kann?

Stelle ich das pctSlat mit "set pctSlat Wert" dann werden die Lamellen nicht zuerst auf 0 gefahren und dann erst auf den Wert, sondern sie fahren direkt auf den Wert.

Gesendet von meinem XT1635-02 mit Tapatalk


martinp876

Ok. Dann verstehe ich den kommentar nicht. Der aktor errechnet den wert und könnte bei mehrfachem fahren ausser tritt kommen. Daher könnte eq3 referenzfahrten vorgesehen haben. So ist das bei level realisiert ( die register ref).
Aber d a ich den fw code nicht kenne und keinen aktor habe ist das alles Spekulation.
Bis auf den slider sollte jetzt aber alles passen.

Terabyte

#67
Hallo

In den Screenshots kann man sehen dass der Schalter auch das Slat auswerten kann. Allerdings heißt es dort nicht pctSlat sondern nur Slat. Vielleicht ist das der Grund warum der Slider den Wert nicht richtig anzeigt.

Auf dem 2. Screenshot kann man sehen dass beide Slider immer den selben Wert anzeigen.



Gesendet von meinem XT1635-02 mit Tapatalk
(https://uploads.tapatalk-cdn.com/20171001/396dc8ab4e35823dd419328801cb4531.jpg)(https://uploads.tapatalk-cdn.com/20171001/2eb2a9a56f7362fdcf6ad8dba036a02a.jpg)

martinp876

genau - sagte ich doch. was war unklar?

ich kann jetzt
1. das Kommando pctSlat nach slat umbenennen
2. das Reading slat gegen pctSlat tauschen
3. slat im Reading als pctSlat und slat anzeigen

alles unschön, da sich die User schon an ein Kommando gewöhnt haben - und dopplete Readings unschön sind.
Ich mache 2 - sollte den geringsten Einfluss haben.

Terabyte

Aso du meintest man sollte mit dem Userreading das slat zu pctSlat verlinken?
Dann sollte der Status richtig angezeigt werden?


Dass der slat mit dem Slider zuerst immer auf 0 fährt könnte auch etwas damit zu tun haben oder?


Gibt es hier irgendwelche Möglichkeiten die ich selbst testen könnte? Ist für dich sicher nicht so einfach wenn du den Schalter nicht hast.

Danke auf jeden Fall



Gesendet von meinem XT1635-02 mit Tapatalk


martinp876

Ich habe das Reading nach pctSlat geändert. Ab morgen verfügbar. Also brauchst du kein userreading mehr. Aber das war die Idee.

Dass der Aktor immer erst nach 0 fährt hängt damit nicht zusammen. Ob man das noch verstellen kann ist mir nicht bekannt. Evtl ist es, wie gesagt, eine Eigenart des Aktors.

Ein Aktor kann grundsätzlich über 2wege angesteuert werden:
A) das Kommando. Hier wird alles im Kommando festgelegt. Man müsste also ein Bit finden, welches das beeinflusst. Es ist aber nichts mehr frei.
B) die Peers. Dabei definiert man recht viel, kann meist mehr Details festlegen. Mit dem Trigger wird es dann ausgelöst. Kann man von der Zentrale mit Set press von überall auslösen
Hier sehe ich aktuell keine Register zum steuern....

Terabyte

#71
Hallo martinp876

Danke. Der Slider zeigt nun auch den Wert von pctSlat richtig an.

Das Verhalten, dass immer erst 0 angefahren wird und dann die mit dem Slider gesetzte Position ist, wie du schon vermutest hast, noch immer vorhanden.

Ist zwar etwas eigenartig, denn wie schon erwähnt, macht er das nicht wenn ich über den Befehl "set pctSlat Wert" die Jalousie verstelle.

Was mir soeben noch aufgefallen ist: Ist die Jalousie nicht ganz unten, also zum Beispiel halb hochgefahren und ich änderen den pctSlat mit dem Slider, dann fährt die Jalousie zuerst komplett runter und ändert dann erst das pctSlat.


Ich habe noch eine Frage was die Bedienung direkt am Schalter betrifft.
Ist es irgendwie möglich, dass wenn man den Schalter kurz drückt der pctSlat um zu Beispielt 25% erhöht oder verringert wird?

martinp876

Wenn es einen Unterschied bei den Kommandos gibt kann man das klären.
Sniffe einfach einmal beide Aktionen.

Das mit dem kurzen Druck ist schwierig. Wir sehen den kurzen Druck ja nicht. Also muss es der Aktor melden.

Du kannst auch einmal die statusreq sniffen. Möglich, dass das gesendet wird...

Terabyte

#73
Hallo

Ich hab jetzt das Kommando mal gesnifft.

Es scheint so dass er beim einstellen von pctSlat auch den level auf 0 setzt.

2017-10-08 09:32:03.054 CUL_HM RaffstoreWZ levelSlat: set_70
2017-10-08 09:32:03.111 CUL_HM RaffstoreWZ level: set_0
2017-10-08 09:32:03.167 CUL_HM RaffstoreWZ set_0


Wie kann man das statusreq sniffen?

Bekommt man irgendwo die Datei 10_CUL_HM.pm her, bevor der Slider eingebaut wurde?

Terabyte

#74
Ich habe die alte 10_CUL_HM.pm nun selbst gefunden. Vom 13.08.2017. Diese war bevor der Slider für pctSlat vorhanden war.

Dort habe ich dann einfach folgende Zeile hinzugefügt. Dort wo schon die Zeile für den Slider "pct" vorhanden war.

$usg =~ s/ pctSlat/ pctSlat:slider,0,1,100/;

Damit funktioniert der Slider auch ohne dass immer vorher 0 angefahren wird.
Dort wird nur leider der neue Wert vom Slider dann nicht übernommen. Also der Wert von pctSlat ändert sich nicht mit.

Edit:
Habe nun noch folgendes hinzugefügt und nun scheint es zu funktionieren.

push @evtEt,[$mh{cHash},1,"pctSlat:".hex($mI[5])/2];