Module für pilight (Senden und Empfangen)

Begonnen von Risiko, 03 März 2015, 20:33:54

Vorheriges Thema - Nächstes Thema

klausw

Zitat von: Risiko am 22 Juli 2015, 20:01:21
ich habe ein neues Modul pilight_raw gemacht. Damit kann man:

1. raw-Codes für state on und off als Attribut ablegen und einfach das Modul wie ein Switch verwenden. Es werden dann die raw-Codes gesendet
2. einen beliebigen raw-Code unabhängig vom state senden
Super Arbeit, funktioniert beides 1a  :)
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Tueftler1983

Hallo sorry weiß nicht wie ich es richtig ausdrücken soll.

Dieses Protokoll quigg_gt7000 benutze ich nicht, und hätte gerne das dein Modul alle Nachrichten davon ignoriert. Da sonst der event Monitor und log damit überflutet wird.

Habe den Befehl quigg_gt7000 :*  - bei dem atribut ignoreProtokoll eingegeben aber in fhem wird wenn ich dein Modul pilight_Ctrl anklicke immernoch angezeigt das im Sekunden Takt befehle von quigg_gt7000 rein kommen angezeigt und im log auch.

Dieses Problem hatte ich vor ca 2 Monaten noch nicht mit dem quigg_gt7000

Als Hardware habe ich wie von dir angeraten die 433mhz superheterodyne Sender und Empfänger

Sorry für die arbeit

Tueftler1983

Das Problem hat sich geklärt. Meine Frau hatte auf dem Speicher im Karton mit Weihnachtsdeko gekramt und was auf die Fernbedienung von der Weihnachtsbeleuchtung gelegt.
was nur komisch ist ist das ich die Signale von meinen verwendeten Funk Steckdosen nicht mehr in Fhem und auch nicht in pilight_receive sehe aber das ist eine andere baustelle

AitschPi

Es kann die selbe Baustelle gewesen sein. Letzte Woche wurde -ich sage es neutral- hier von meiner besseren Hälfte getestet, wie eine Fernbedienung reagiert, wenn man einen Karton daraufstellt. Und das bei dem Schalter, der ein nötige-Makro auslöst. Der Funkverkehr hat dabei den gesamten Datenverkehr zum und vom RfxTrx433 blockiert, andere Signale kamen weder rein noch raus. Ansonsten funktionierte fhem und ich habe auch erstmal länger suchen müssen. Man vermutet ja auch keinen Karton als Ursache... ;o)


Gesendet von iPhone mit Tapatalk - Tippfehler sind gratis.
Echte Männer essen keinen Honig, sie kauen Bienen.

Risiko

Zitat von: Tueftler1983 am 23 Juli 2015, 12:13:16
Hallo sorry weiß nicht wie ich es richtig ausdrücken soll.

Dieses Protokoll quigg_gt7000 benutze ich nicht, und hätte gerne das dein Modul alle Nachrichten davon ignoriert. Da sonst der event Monitor und log damit überflutet wird.

Habe den Befehl quigg_gt7000 :*  - bei dem atribut ignoreProtokoll eingegeben aber in fhem wird wenn ich dein Modul pilight_Ctrl anklicke immernoch angezeigt das im Sekunden Takt befehle von quigg_gt7000 rein kommen angezeigt und im log auch.
Na das sind doch mal passende Infos  ;)
"quigg_gt7000 :*" - hier ist ein Leerzeichen zu viel. Nur "*" hast du also nicht getestet. Beide Varianten sollte funktionieren, aber nur Auswirkungen für das Log haben.
Events werden trotzdem generiert, das das Reading rcv_raw aktualisiert wird. Das soll so auch sein, damit man ggf. auf neue Protokolle regieren kann.
Der Eventmonitor hat doch einen eigenen Filter.

Das das ständige Senden der Fernbedienung (ist wirklich blöde wenn permanent was darauf liegt  ;D) den Empfang anderer Messages verhindert, ist wie du selbst richtig sagst ein ganz anderes Problem.

Risiko.

Tueftler1983

So Update
bei mir läuft wieder alles reibungslos!
Irgendwas stimmte mit pilight nicht mehr.
habe es deinstalliert und neu installiert dann noch den Port 5000 in der config.json eingetragen und tada... ich empfange auch wieder Signale von meiner verwendeten Fernbedienung.
Danke nochmal für die hilfe

Risiko

Zitat von: FunkOdyssey am 17 Juli 2015, 13:42:40
@Risiko: Ist das technisch möglich, die "pilight_switche" auch mit "on-for-timer" & Co. zu schalten. Derzeit ignorieren die Geräte die Ausführung.

set pilight_abcde on-for-timer 100
Ab morgen per update.
Natürlich auch off-for-timer, blink, etc.

Risiko

FunkOdyssey

Juchu. Das kann ich super gebrauchen.

Tueftler1983

Hey die neuen Funktionen sind super. Läuft einwandfrei!

FunkOdyssey

Ich hab per eventMap mein on auf An gemappt.
Lustigerweise steht nun beim "set piswitch on-for-timer 120" der Text "An-for-timer" im Log. Der Rest funktioniert wie gewollt. Nur im Log steht es falsch drin.

Risiko

Zitat von: FunkOdyssey am 29 Juli 2015, 21:08:10
Ich hab per eventMap mein on auf An gemappt.
Lustigerweise steht nun beim "set piswitch on-for-timer 120" der Text "An-for-timer" im Log. Der Rest funktioniert wie gewollt. Nur im Log steht es falsch drin.
Liegt wohl dann an eventMap  :o. Was meinst du denn für ein Log, vom switch?


tpm88

Hallo Risiko,

bin gerade dabei, meine pilight switches auf deine Module pilight_ctrl und pilight_switch umzustellen.

pilight ist mit v7.0 installiert. Die pilight Module sowie FHEM sind auf neuestem Stand.

Ich habe Pollin und Intertechno Steckdosen. Beide lassen sich einwandfrei schalten.  Bei den Intertechno Steckdosen wird aber im WebFrontend der Zustand nicht angezeigt. Außerdem erhalte ich folgende Meldung im Log nach jedem Schaltvorgang:


2015.08.09 14:18:50 3: my_pilight: Unknown code PISWITCH,arctech_switch,122344,2,on, help me!
2015.08.09 14:19:18 3: my_pilight: Unknown code PISWITCH,arctech_switch,122344,2,off, help me!


Hier ein list eines entsprechenden Device:


list pi_test

Internals:
   CFGFN
   DEF        kaku_switch 122344 2
   ID         122344
   IODev      my_pilight
   NAME       pi_test
   NR         554
   PROTOCOL   kaku_switch
   STATE      defined
   TYPE       pilight_switch
   UNIT       2
Attributes:
   room       Test


Hier der Verbose 5 Log-Auszug von zwei Schaltvorgängen:


set pi_test on

2015.08.09 14:54:04 4: my_pilight(Write): RCV (pilight_switch) -> pi_test,on
2015.08.09 14:54:04 4: my_pilight(Write): {"action":"send","code":{"protocol":["kaku_switch"],"id":122344,"unit":2,"on":1}}
2015.08.09 14:54:04 5: my_pilight(SendNonBlocking): queue size 1
2015.08.09 14:54:05 5: my_pilight(Send): {"action":"send","code":{"protocol":["kaku_switch"],"id":122344,"unit":2,"on":1}}
2015.08.09 14:54:05 4: my_pilight(Send): RCV -> {"status":"success"}
2015.08.09 14:54:05 5: my_pilight(Parse): RCV -> {"origin":"sender","protocol":"arctech_switch","message":{"id":122344,"unit":2,"state":"on"},"repeat":1,"uuid":"0000-02-c5-0a-4278a7"}
2015.08.09 14:54:05 5: my_pilight dispatch PISWITCH,arctech_switch,122344,2,on
2015.08.09 14:54:05 4: pilight_switch_Parse: RCV -> PISWITCH,arctech_switch,122344,2,on
2015.08.09 14:54:06 3: my_pilight: Unknown code PISWITCH,arctech_switch,122344,2,on, help me!
2015.08.09 14:54:06 4: my_pilight(SendDone): message successfully send

set pi_test off

2015.08.09 14:55:31 4: my_pilight(Write): RCV (pilight_switch) -> pi_test,off
2015.08.09 14:55:31 4: my_pilight(Write): {"action":"send","code":{"protocol":["kaku_switch"],"id":122344,"unit":2,"off":1}}
2015.08.09 14:55:31 5: my_pilight(SendNonBlocking): queue size 1
2015.08.09 14:55:31 5: my_pilight(Send): {"action":"send","code":{"protocol":["kaku_switch"],"id":122344,"unit":2,"off":1}}
2015.08.09 14:55:31 4: my_pilight(Send): RCV -> {"status":"success"}
2015.08.09 14:55:32 5: my_pilight(Parse): RCV -> {"origin":"sender","protocol":"arctech_switch","message":{"id":122344,"unit":2,"state":"off"},"repeat":1,"uuid":"0000-02-c5-0a-4278a7"}
2015.08.09 14:55:32 5: my_pilight dispatch PISWITCH,arctech_switch,122344,2,off
2015.08.09 14:55:32 4: pilight_switch_Parse: RCV -> PISWITCH,arctech_switch,122344,2,off
2015.08.09 14:55:33 3: my_pilight: Unknown code PISWITCH,arctech_switch,122344,2,off, help me!
2015.08.09 14:55:33 4: my_pilight(SendDone): message successfully send


Und zur Vollständigkeit noch ein list des pilight controller:

list my_pilight

Internals:
   API        6.0
   CFGFN
   DEF        192.168.8.21:5000 7.0
   DeviceName 192.168.8.21:5000
   FD         252
   NAME       my_pilight
   NR         524
   NTFY_ORDER 50-my_pilight
   PARTIAL
   RETRY_INTERVAL 60
   STATE      connected
   TYPE       pilight_ctrl
   Readings:
     2015-08-09 15:03:43   rcv_raw         {"origin":"sender","protocol":"arctech_switch","message":{"id":122344,"unit":2,"state":"off"},"repeat":1,"uuid":"0000-02-c5-0a-4278a7"}
     2015-08-09 14:38:14   state           connected
   Helper:
     CON        connected
     LAST_RCV_PROTOCOL arctech_switch
     LAST_RCV_RAW {"origin":"sender","protocol":"arctech_switch","message":{"id":122344,"unit":2,"state":"off"},"repeat":1,"uuid":"0000-02-c5-0a-4278a7"}
     LAST_SEND_RAW {"action":"send","code":{"protocol":["kaku_switch"],"id":122344,"unit":2,"off":1}}
     sendQueue:
     whiteList:
       kaku_switch:122344
Attributes:
   room       Interfaces
   verbose    5


Kann es sein, daß das pilight Modul die Antwort "protocol = arctech_switch" nicht der gesendeten Nachricht mit "protocol = kaku_switch" zuordnen kann? Leider kann ich die Intertechno Steckdosen nicht direkt als "arctech_switch" definieren. Unter dem Sammelbegriff werden offenbar nur eine Reihe von Herstellern zusammengefasst - siehe http://wiki.pilight.org/doku.php/arctech_switch_v7_0

Tobias

Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT

Risiko

Zitat von: tpm88 am 09 August 2015, 15:17:09
Kann es sein, daß das pilight Modul die Antwort "protocol = arctech_switch" nicht der gesendeten Nachricht mit "protocol = kaku_switch" zuordnen kann? Leider kann ich die Intertechno Steckdosen nicht direkt als "arctech_switch" definieren. Unter dem Sammelbegriff werden offenbar nur eine Reihe von Herstellern zusammengefasst - siehe http://wiki.pilight.org/doku.php/arctech_switch_v7_0

Hallo Tobias,

ja genau. Das ist ein Problem in pilight und den unterschiedlichen Benennungen für ein Protokoll (brands).
Dafür gibt es das Attribut brands in pilight_ctrl.
In deinem Fall musst du  "arctech:kaku" eintragen. Damit arctech durch kaku ersetzt wird. Also arctech_switch zu kaku_switch.

Risiko

tpm88

Zitat von: Risiko am 09 August 2015, 18:37:07
In deinem Fall musst du  "arctech:kaku" eintragen. Damit arctech durch kaku ersetzt wird. Also arctech_switch zu kaku_switch.

Danke - das hatte ich in der CommandRef übersehen  :-\ Muß die Hitze sein...  8)
Die Problematik ist mit dem brands Attribut wirklich sehr elegant gelöst.

Tobias
Test FHEM Server on RPi, CUL_HM
Prod FHEM Server on Odroid HC1, HM-USB, JeeLink
Devices: diverse HM, IT1500, 1wire, LaCrosse, MQTT