Leinwandsteuerung

Begonnen von DerFrickler, 03 Januar 2018, 14:09:21

Vorheriges Thema - Nächstes Thema

rob

#15
Hallo.

Hast Dich nicht entmutigen lassen und selber weiter getüftelt, finde ich sehr gut :) Es kann sein, dass noch div. Feintuning nötig wird. Wenn z.B. 3 Wochen lang empfangen/senden klappt und dann plötzlich nur sporadisch oder garnicht, obwohl Du nichts geändert hast. Bei Funk gibt es viele Störfaktoren. Kann sein, dass der große Bagger vom Nachbarn jetzt da ist oder Bernd der CB-Funker seinen Vereinstreff abhält ... Du verstehst schon ;)

Senden müsste so klappen:

set 1527x51eef on

Dadurch wird der erste Code vom Device ausgeführt (z.B. 1000). 0000 legt Fhem automatisch an, obwohl die FB diesen Code nicht hat (Off ist halt Standard, wenn wir ein On anlegen).

Jetzt kann man im Rohzustand damit wenig testen, weil wahrscheinlich 1000 an erster Stelle steht --> on in Fhem und Stopp für die Leinwand. Was soll man mit on aber groß sehen?
Mein Empfänger hat einen Buzzer drin der piept, wenn ich an der FB Tasten drücke. Hat Dein Empfänger das auch, sollte mit obigem Befehl zumindest ein Piep kommen. Wenn nicht, könntest Du die Leinwand via FB mal hoch/ runter fahren lassen und mit Fhem on schalten. Sie sollte stoppen.

Wenn Du die Codes aus Deinem Log ergänzt (0010 und 0100), dann hast Du die dimup/dimdown auch gleich drin. Im Def könnte z.B. dieses stehen:

1527x51eef 1000 0000 0010 0100

Erste Stelle on, zweite off, dritte dimup und vierte dimdown.

Jetzt kommt uns aber etwas in die Quere:
Das Device ist eins vom Typ IT. IT-Geräte haben meist nur On/Off. Die dritte Taste wie auf der FB würde uns fehlen. Manche IT kennen halt auch DimUP/Down, was uns aber nicht direkt hilft. Die Art wie IT-Geräte ticken, stört uns zunächst, weil wir nicht auf die letzten zwei Codes direkt zugreifen können. Man könnte attr model itdimmer einstellen, funktioniert aber auch nicht besonders schön (eher für Lampen).

Das lässt sich über zwei Wege lösen:



  • ändern der Code-Reihenfolge im Device
    nehmen wir an 0010 steht für hoch fahren, dann setzt Du diesen Code an erste Stelle und 0100 an die zweite - 1000 an die dritte und 0000 ganz zuleztzt
    nun löst set ... on das Hochfahren aus und set off das Runterfahren
    (mit eventmap und stateformat usw. ließe sich das "aufhübschen")



  • oder via Raw-Codes senden
    das Device bleibt wie es ist
    ein Dummy erhält die drei Zustände wie die FB und ein notify reagiert darauf und sendet Raw-Codes z.B.

set mySignalDuino sendMsg irgendeincode
Geht wahrscheinlich noch viel eleganter, hatte mich mit Variante 2 aber zufrieden gegeben :) (Var1 ist aber nicht nur zum Testen ganz gut) Und ich hab den S'duino. Der CUL beherrscht das bestimmt genauso.

Eine Eigenschaft meiner Leinwand kam mir zusätzl. in die Quere: wenn sie gerade fährt (hoch/ runter ist egal), dann löst jede Taste ein Stopp aus. Auch wenn sie komplett ausgefahren und selbst gestoppt ist, löst der nächste Drücker auf der FB zunächst nur ein Piep aus. Beim zweiten Drück erst wird das Kommando ausgeführt.
Deshalb muss Fhem bei mir das auch wissen und im notify führe ich darum immer zwei Befehle aus: erst stopp und dann der eigentl. Befehl.

Die RAW-Codes habe ich aus dem Device entnommen: unter XMIT. Leider kriege nicht mehr auf die Reihe, wie ich die ganz genau ermittelt hatte. Doof  ::) Hier gibt es aber viele Leute, die sich wesentl. besser auskennen als ich.

Ich hoffe trotzdem dies hilft so weiter.

Viele Grüße
rob

Edit: hab den RAW-Code Krams weg, ist überholter Nonsens :)

Ralf9

Es gibt beim IT-Modul das Attribut userV1setCodes, damit sind ausreichend viele Code möglich

siehe auch in der Device specific help
userV1setCodes
Damit können beim ITv1 Protokoll eigene setcodes zugefügt werden.
Die setcodes werden auch für den Empfang verwendet, dabei haben die userV1setCodes Vorrang vor den XMIT Codes.
Beispiele:

    attr lamp userV1setCodes rot:FD blau:1F
    attr lamp userV1setCodes hoch:1001 runter:1000 stop:1011
    attr IT_1527x12345 userV1setCodes closed:0111 open:1110 tamper:1011 lowVoltage:1111 # Kerui Fensterkontakt


Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

rob

#17
Danke Dir Ralf. Wieder was gelernt :)

Edit: hab soeben gleich mal getestet: läuft 1A! Dann brauch ich jetzt das RAW-Code Geraffel nicht mehr und nehme es sicherheitshalber aus meinem vorigen Post raus, damit keiner sich daran unnötig versucht.

Viele Grüße
rob

fhemnewbie2021

Hallo,

habe versucht, ein Signal zu senden. Die Leinwand hat aber leider nicht reagiert. im Log finde ich folgendes:


2021.03.27 18:26:58 3: CUL433 IT_set: IT_1527x51eef off
2021.03.27 18:26:58 5: SW: isFF0F1D1D1100
2021.03.27 18:26:58 5: CUL/RAW (ReadAnswer): isFF0F1F1F1100

2021.03.27 18:26:58 2: IT IODev device didn't answer is command correctly:   raw => isFF0F1F1F1100
2021.03.27 18:27:19 3: CUL433 IT_set: IT_1527x51eef on
2021.03.27 18:27:19 5: SW: isFF0F1D1D11D0
2021.03.27 18:27:19 5: CUL/RAW (ReadAnswer): isFF0F1F1F11F0

2021.03.27 18:27:19 2: IT IODev device didn't answer is command correctly:   raw => isFF0F1F1F11F0


Hat jemand einen Tipp, was ich tun sollte?

Danke und Gruesse,
fhemnewbie2021