360 Grad IR WLAN Gateway

Begonnen von gloob, 08 Juni 2017, 21:16:36

Vorheriges Thema - Nächstes Thema

Frank_Huber

Zitat von: Frank_Huber am 13 Juni 2017, 10:54:51
wenn es in FHEM mal läuft gerne.
Da stell ich mir einen DUMMY und ein DOIF vor.
dann per "SET IR_COMMANDS TV_POWER" z.B. TV einschalten

Hab vorhin ganz ohne FHEM manuell gesendet.
Werd heute Abend zuhause dann mal über FHEM testen.

EDIT: Hab es mal ungetestet eingerichtet.

Der Dummy zum Kommandos absetzen:
define IR_COMMAND dummy
attr IR_COMMAND group IR
attr IR_COMMAND room _Wohn/Ess
attr IR_COMMAND setList RADIO_POWER TV_POWER


Der DOIF zum Befehle ausführen:
define DOIF_IR_COMMANDS DOIF ([IR_COMMAND] eq "RADIO_POWER") ({GetHttpFile("http://192.168.112.232","/ir?code=FF08F7&bits=32&protocol=NEC")})\
DOELSEIF ([IR_COMMAND] eq "TV_POWER") ({GetHttpFile("192.168.112.232","/ir?code=FF08F7&bits=32&protocol=NEC")})
attr DOIF_IR_COMMANDS do always
attr DOIF_IR_COMMANDS group IR
attr DOIF_IR_COMMANDS room _Wohn/Ess
attr DOIF_IR_COMMANDS verbose 0


jeder IR Befehl müsste da im Dummy in die SETLIST und als eigener Zweig ins DOIF.

Werde das ganze heute Abend zuhause testen und nochmals berichten.

Dank dem DOIF Attribut "cmdState" braucht man keinen dummy (mehr)

Hier mein aktuelles DOIF welches ohne den dummy auskommt.
Befehle einfach über "set DOIF-Name cmd-name" also im Beispiel "set Sony_TV POWER" Es wird dann cmd_1 ausgeführt.


defmod Sony_TV DOIF (a) ({GetHttpFile("192.168.12.183","/json?plain=[{'data':'A90','type':'Sony','length':12}]")})\
DOELSEIF (b) ({GetHttpFile("192.168.12.183","/json?plain=[{'data':'F50','type':'Sony','length':12}]")})\
DOELSEIF (c) ({GetHttpFile("192.168.12.183","/json?plain=[{'data':'490','type':'Sony','length':12}]")})\
DOELSEIF (d) ({GetHttpFile("192.168.12.183","/json?plain=[{'data':'C90','type':'Sony','length':12}]")})
attr Sony_TV cmdState POWER|STANDBY|VOL_UP|VOL_DOWN
attr Sony_TV do always

gloob

Sehr gut der Tipp. Weniger Devices ist immer gut.




Schade, dass die States aber nicht hinter dem DOIF Namen in der GUI angezeigt werden.  :(
So nutzt es dann leider nix.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Frank_Huber

#437
Zitat von: gloob am 18 Januar 2018, 16:38:08
Schade, dass die States aber nicht hinter dem DOIF Namen in der GUI angezeigt werden.  :(
So nutzt es dann leider nix.

Wird es doch.
Hinter dem doif name steht das letzte Kommando.

Edit: Bild angehängt.

Edit 2: kannst sogar per WebCmd ausführbar machen...

Mit dem Handy online, daher kurz gefasst...
(https://uploads.tapatalk-cdn.com/20180123/b234b6a3739557416c4a7f230bf37cfe.jpg)

Tsturm

Hallo Zusammen,

das 360 Gateway funktioniert prima, ich bediene damit einen Sony Beamer zum Ein/Ausschalten.

Ich habe es geschafft, mit der Fernbedienung den Power-Toggle mit dem Code 542A zu machen (über die Fernbedienung ausgelesen)
({GetHttpFile("192.168.178.49","/json?plain=[{'data':'542A','type':'Sony','length':15}]")})

Ich würde nun gerne lieber "An" und "Aus" direkt senden, um den Beamer sicher auszuschalten - das ist leider nicht auf der Fernbedienung eingebaut, so dass ich die Codes nicht auslesen kann.

Im Sony Protokoll Manual gibt es folgende Einträge im Bezug auf Rs232 und IR - es gibt also auch ein direktes On / Off neben dem Toggle-Kommando:
O _ 15 POWER ON/OFF *1
O _ 2E POWER ON *1
O _ 2F POWER OFF

Allerdings bekomme ich das nicht mit dem Code "542A" (der ja dem ersten Eintrag entsprechen sollte) überein.

https://www.digis.ru/upload/iblock/ac1/VPL-HW40ES,%20HW50ES,%20HW55ES_PtotocolManual.pdf

Irgendwelche Hinweise?

VG Timmo


viegener

Zitat von: Tsturm am 27 Januar 2018, 13:14:49
Hallo Zusammen,

das 360 Gateway funktioniert prima, ich bediene damit einen Sony Beamer zum Ein/Ausschalten.

Ich habe es geschafft, mit der Fernbedienung den Power-Toggle mit dem Code 542A zu machen (über die Fernbedienung ausgelesen)
({GetHttpFile("192.168.178.49","/json?plain=[{'data':'542A','type':'Sony','length':15}]")})

Ich würde nun gerne lieber "An" und "Aus" direkt senden, um den Beamer sicher auszuschalten - das ist leider nicht auf der Fernbedienung eingebaut, so dass ich die Codes nicht auslesen kann.

Im Sony Protokoll Manual gibt es folgende Einträge im Bezug auf Rs232 und IR - es gibt also auch ein direktes On / Off neben dem Toggle-Kommando:
O _ 15 POWER ON/OFF *1
O _ 2E POWER ON *1
O _ 2F POWER OFF

Allerdings bekomme ich das nicht mit dem Code "542A" (der ja dem ersten Eintrag entsprechen sollte) überein.

https://www.digis.ru/upload/iblock/ac1/VPL-HW40ES,%20HW50ES,%20HW55ES_PtotocolManual.pdf

Irgendwelche Hinweise?



Wenn ich das Dokument richtig lese, entsprechen die Codes den Einträgen, die man bei der IR-Simulation über die serielle Schnittstelle verwenden muss, dies sind nicht unbedingt IR-Kommandos

Es ist nichtmal sichergestellt, dass es einen Infrarot-Code nur für an bzw. aus gibt, ich würde eher ausprobieren, ob Du die Kommandos durchprobieren kannst, also
- Gerät ausschalten
- Schleife über Codes machen (toggle code aussparen)
-   Code senden / code ins log / 5 sek warten
-  nächsten Code

Wenn das Gerät angeht hast Du vielleicht den Code gefunden
Analog für Ausschalten

Problem ist, wenn das Gerät auch bei anderen Kommandos eingeschaltet wird
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Tsturm

Das mit dem Testen hatte ich schon mal erwogen... stimme Dir zu, dass es Geräte-Codes sind, werden aber auch oft bei IR Seiten genannt. Die Systematik zur Übersetzung in IR haben ich aber noch nicht gefunden.

Zunächst geht es jetzt damit, dass das Ausschalten eine Bestätigung (also zwei mal Power toggle) braucht. Wenn das Gerät an ist, geht's mit einmal Power toggle nicht aus (es erscheint nur kurz ein Bestätigungsscreen), wenn es aus ist, geht's mit dem Doppelkommando nicht richtig an, sondern sofort wieder aus. Nicht ganz so schön, klappt aber.

VG timmo

RaspiLED

Hi,
In der Theorie sollte diese Seite ja die Codes erklären und Du könntest bei lirc mal nach Power On/Off suchen:
http://www.righto.com/2010/03/understanding-sony-ir-remote-codes-lirc.html?m=1

Aber wie bekommt man den Code von Dir oben umgerechnet?

Gruß Arnd

Gesendet von meinem SM-G800F mit Tapatalk

Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Pfriemler

#442
Also ... da ich auch einen SONY Beamer am Start habe, der erfolgreich vom IR-Gateway getoggelt wird: Ich habe den Dreh raus, wie man die SONY-Codes in Codes für das IR-Gateway umrechnet.
Hat mit nem Sony Blurayplayer schon mal funktioniert.

Test: bei mir funktioniert
[{'data':'542A','type':'SONY','length':15}] = Beamer Power Toggle - habe ich umgerechnet in Sonycode = 21 dezimal, 15 Hex = stimmt, auch die Adresse 2A -> 84, die 15-bit-Codetabelle für Beamer.

Ohne Gewähr (aber bitte sagt ob es klappt):
[{'data':'3A2A','type':'SONY','length':15}] wäre dann Power ON und
[{'data':'7A2A','type':'SONY','length':15}] wäre dann Power OFF

wenn ich richtig gerechnet habe.

Und?

P.S.: Sehr geile Tabellen findet man unter http://www.hifi-remote.com/sony/
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Tsturm

Hallo Pfriemler,

klappt - vielen Dank - auch wenn ich Deine Umrechnungslogik noch nicht verstehe :-\ ... die 2A / 84 für 15 bit Geräte ist klar, aber die andere Umrechnung für den eigentlichen Befehl. Ist allerdings auch nicht so relevant (eher für andere Geräte, da der Beamer eh nur an- und ausgeschaltet werden muss, der Rest wird über den AV Recorder gemacht).

Damit kann ich jetzt die Kino-Launch-Sequenz angehen... so mit Licht aus, Dolby Vorspann, Filmstart...

VG Timmo

Pfriemler

#444
Für SONY-Geräte:
12-bit-Folgen bestehen aus 5 Adress- und 7 Befehlsbits.
15-bit-Folgen bestehen aus 8 Adress- und 7 Befehlsbits.
20-bit-Folgen bestehen aus 8 Extension-,  5 Adress- und 7 Befehlsbits.
Sony sendet LSB first, die Bitfolgen müssen also invertiert werden. Das IR-Gateway wird immer mit Bytes befüttert, im Falle von 15-bit-Folgen setzt man dazu eine 0 vor die gespiegelte Folge.

Am Beispiel des Beamers (Gerätecode 84, Befehl 47 = POWER OFF)
Adresse 84 (8 bit) ist hex "54" oder "01010100", Befehl ist 47, hex "2F", aber nur sieben bits, also "0101111",
Zusammen also "01010100,0101111".
Jetzt spiegeln und noch eine 0 davor setzen und gruppiert für die Optik: 0,111 1010,0010 1010 = hexadezimal "7A2A". Fertig

Für einen SONY-TV wäre das so (Gerät 1, Befehl 47 = POWER OFF)
Adresse (5 bit) "00001", Befehl "2F" bzw. "0101111", zusammen also "00001,0101111"
Gespiegelt "1111 010,1 0000", 12 bits, ohne Füllbit = "F50"

Für einen SONY-Bluray-Player (Gerät 26, Extension 226, Befehl 47 = POWER OFF)
Extension (8bit) hex E2h bzw. "1110 0010", Adresse (5 bit) hex 1Ah bzw. "11010", Befehl "2F" bzw. "0101111", zusammen also "11100010,11010,0101111"
Gespiegelt "1111 010,0 1011,0100 0111", kein Füllbit nötig, "F4B47"

Im Blastercode dann als data die Hexfolge und natürlich die Bitlänge (12,15,20) eintragen, fertig.
Viel Spaß beim Selberbauen!

edit: habe heute mal schnell eine VB6-exe zum Ausrechnen zusammengezimmert, bisher stimmt alles was ich ausgerechnet habe ...
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Mad-at

Darf ich fragen, hat jemand von euch schon ein Triggern von fhem Aktionen über KVPUDP am laufen? Ich bin dafür zu doof... Habe schon im Anfänger Corner gefragt, bitte nicht böse sein wenn ich mich hier an euch wende.

Frank_Huber

Zitat von: Mad-at am 29 Januar 2018, 19:20:33
Darf ich fragen, hat jemand von euch schon ein Triggern von fhem Aktionen über KVPUDP am laufen? Ich bin dafür zu doof... Habe schon im Anfänger Corner gefragt, bitte nicht böse sein wenn ich mich hier an euch wende.
Event Monitor öffnen
Auf das KVPUDP device filtern
Taste drücken
Notify / DOIF erstellen.

So sollte das gehen.

Mit dem Handy online, daher kurz gefasst...


Mad-at

Ja, nur gerade das Notify /doif scheitert daran, dass ich nicht herausfinde wie ich die vielen Sonderzeichen/Doppelpunkte an denen sich perl/fhem dann verschluckt maskieren soll.

Frank_Huber

Zitat von: Mad-at am 29 Januar 2018, 20:33:32
Ja, nur gerade das Notify /doif scheitert daran, dass ich nicht herausfinde wie ich die vielen Sonderzeichen/Doppelpunkte an denen sich perl/fhem dann verschluckt maskieren soll.
Deswegen über den event monitor!
Da macht das fhem für dich!

Mit dem Handy online, daher kurz gefasst...


Mad-at

#449
Achje bin ich blöd! Das hab ich ja garnicht gekannt! Sehr genial, Danke!!