Module für pilight (Senden und Empfangen)

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

Vorheriges Thema - Nächstes Thema

Risiko

#30
Hallo lulli,

opened ist erstmal ok. Dein brands Attribut aber nicht.
Was sagt den pilight-receive, wenn du den Befehl in der Shell (nehme an Linux-Shell) ein gibst?
elro_800 wird in pilight auch mit brennenstuhl umgesetzt. Evtl. musst du dafür das Attribut brands richtig angeben z.B. elro_800:brennenstuhl oder brennenstuhl:elro_800.

Kannst du bitte verbose von pilight_ctrl mal auf 5 stellen und schauen was im Log ankommt.
Weiterhin wäre ein list pilight (so hast du es ja genannt) in der FHEM-Eingabezeile interessant.

Risiko

lulli

Hallo Risiko,

hatte den falschen Port angegeben. 5000 war anscheinend schon belegt, habe die config daher auf 600 geändert und schon klappt es.

Internals:
   API        6.0
   CHECK      1
   DEF        localhost:6000
   DeviceName localhost:6000
   FD         76
   NAME       pilight
   NR         436
   PARTIAL
   STATE      opened
   TYPE       pilight_ctrl
   Readings:
     2015-03-30 20:22:12   rcv_raw         {"message":{"id":6,"unit":5,"state":"off"},"origin":"receiver","protocol":"conrad_rsl_switch","uuid":"0000-00-00-51-94a9c1","repeats":1}
     2015-03-30 20:03:16   state           opened
   Helper:
     CON        connected
     LAST_RCV_PROTOCOL conrad_rsl_switch
     LAST_RCV_RAW {"message":{"id":6,"unit":5,"state":"off"},"origin":"receiver","protocol":"conrad_rsl_switch","uuid":"0000-00-00-51-94a9c1","repeats":1}
     LAST_SEND_RAW {"action":"send","code":{"protocol":["elro_800_switch"],"systemcode":31,"unitcode":8,"on":1}}
     SEND_CNT   1
     Running_pid:
       abortFn    pilight_ctrl_SendAbort
       finishFn   pilight_ctrl_SendDone
       fn         pilight_ctrl_Send
       pid        4835
       Abortarg:
     SEND_DATA:
       {"action":"send","code":{"protocol":["pollin"],"systemcode":31,"unitcode":8,"on":1}}
Attributes:
   brands     elro
   room       pilight


schalten klappt leider nicht. die fernbedienungen werden allerdings alle erkannt.
Gruß
Yves

Risiko

Ich sehe da drei unterschiedliche Protokolle  conrad_rsl_switch, pollin und elro_800_switch.
Sicherlich nicht richtig, oder hast du noch andere Schalter?
Also ohne Log's bzw. Ausgaben von pilight-receive kann ich auch nicht mehr sagen.

Was meinst du mit Fernbedienungen werde erkannt aber Schalten geht aber nicht? Versteh ich nicht. Welche Richtung?

Risiko

lulli

Hi Risiko,

ich habe hier jede Menge von den Dosen rumfliegen. ;D
{
"message": {
"systemcode": 31,
"unitcode": 8,
"state": "closed"
},
"origin": "receiver",
"protocol": "elro_800_contact",
"uuid": "0000-00-00-51-94a9c1",
"repeats": 1
}
{
"message": {
"systemcode": 31,
"unitcode": 8,
"state": "off"
},
"origin": "receiver",
"protocol": "elro_800_switch",
"uuid": "0000-00-00-51-94a9c1",
"repeats": 1
}


Das zeigt mir pilight-receive an und manuell übers shell klappt bei mir auch das schlaten mit dem elro_800_switch protokoll..
2015.03.30 19:47:11 3: pilight(Write): Blocking Call running - will try it later
2015.03.30 19:47:11 3: pilight(Write): Blocking Call running - will try it later
2015.03.30 19:47:12 3: pilight(Write): Blocking Call running - will try it later
2015.03.30 19:47:12 3: pilight(Parse): unknown protocol -> ev1527
2015.03.30 19:47:12 3: pilight: Unknown code SWITCH,elro_400,0,29,off, help me!
2015.03.30 19:47:12 3: pilight: Unknown code SWITCH,pollin,31,8,off, help me!
2015.03.30 19:47:12 3: pilight: Unknown code SWITCH,elro_800_contact,31,8,closed, help me!
2015.03.30 19:47:12 3: pilight(Parse): unknown protocol -> ev1527
2015.03.30 19:47:12 3: pilight: Unknown code SWITCH,pollin,31,8,off, help me!
2015.03.30 19:47:12 3: pilight: Unknown code SWITCH,elro_800_contact,31,8,closed, help me!
2015.03.30 19:47:12 3: pilight(Parse): unknown protocol -> ev1527
2015.03.30 19:47:12 3: pilight: Unknown code SWITCH,pollin,31,0,on, help me!
2015.03.30 19:47:12 3: pilight: Unknown code SWITCH,elro_800_contact,31,0,opened, help me!
2015.03.30 19:47:12 3: pilight: Unknown code SWITCH,elro_800_switch,31,0,on, help me!
2015.03.30 19:47:12 3: pilight(Write): Blocking Call running - will try it later
2015.03.30 19:47:12 3: pilight(Parse): unknown protocol -> ev1527
2015.03.30 19:47:12 3: pilight: Unknown code SWITCH,pollin,31,0,on, help me!
2015.03.30 19:47:12 3: pilight: Unknown code SWITCH,elro_800_contact,31,0,opened, help me!
2015.03.30 19:47:12 3: pilight: Unknown code SWITCH,elro_800_switch,31,0,on, help me!
2015.03.30 19:47:13 3: pilight(Write): Blocking Call running - will try it later
2015.03.30 19:47:13 3: pilight(Write): Blocking Call running - will try it later

hier ein kurzer auszug aus meiner log datei. die ist inzwischen 65mb gross und daher sehr unübersichtlich.
danke für die hilfe
gruß
yves

Risiko

Hi lulli,

Da scheint noch ein Senden von FHEM zu hängen.

pilight(Write): Blocking Call running - will try it later

bzw.

Running_pid: ...


Ich empfehle FHEM mal neu zu starten und dann langsam mit einem Protokoll und Schalter anzufangen.
Dann eins nach dem Anderen.
Auf jeden Fall solltest du das Attribut brands löschen. Das wird hier nicht benötigt.

Wenn ich noch etwas Zeit finde, versuch ich mal einen elro_800_switch nachzustellen.

Risiko.

lulli

Hallo Risiko,

habe die Brands gelöscht und mein ganzen Pi neugestartet. Außerdem habe ich powerpi gelöscht, welches ist parallel mal zum testen auf dem PI installiert hatte.
Jetzt funktioniert es .

Danke für die Hilfe. Dein Modul ist echt Top.

stoffL

Hallo zusammen,

ich bin etwas erstaunt, das das define bei mir ein wenig anders aussieht :)

Ich bin gerade dabei meine Funksteckdosen auf FHEM "umzuziehen"

Zum ansprechen dieser benutze ich einen 433 MHZ Sender aus der bucht + pilight.
Soweit nichts großes. Meine Impuls Dosen tun bereits ohne Probleme und sind sehr stabil was die Schaltungen angeht.

Ich habe jedoch noch eine Handvoll Elros rumfliegen, die mich gerade ein wenig ärgnern.

Dazu meine analyse:

define:

define Stehlampe pilight elro_800_switch
attr Stehlampe eventMap on:on off:off
attr Stehlampe room Stube
attr Stehlampe systemcode 15
attr Stehlampe unitcode 1


Geht in diesem Aufbau mit Protokoll Impuls wunderbar.

Im Log die Ursache:

2015.04.01 22:58:11 3: pilight data: { "action": "send", "code": {"protocol":[ "impuls" ],"systemcode":1, "programcode":2,"on":1}}
2015.04.01 22:58:13 3: pilight command: off
2015.04.01 22:58:13 3: pilight data: { "action": "send", "code": {"protocol":[ "impuls" ],"systemcode":1, "programcode":2,"off":1}}
2015.04.01 22:58:20 3: pilight command: on
2015.04.01 22:58:20 3: pilight data: { "action": "send", "code": {"protocol":[ "elro_800_switch" ],}}
2015.04.01 22:58:22 3: pilight command: off
2015.04.01 22:58:22 3: pilight data: { "action": "send", "code": {"protocol":[ "elro_800_switch" ],}}


Scheinbar werden Systemcode und Unitcode nicht mit übergeben.
Test auf der Console per pilight-send war erfolgreich.

Ich habe das Define auch schon anders aufgebaut:

define Stehlampe pilight elro_800_switch 15 1

Leider ebenfalls ohne Erfolg.

Wer kann mich erleuchten? :)

Viele Grüße
Marcel

lulli

Hallo Marcel,

wie du im 1st Post sehen kannst handelt es sich hier um die Module

pilight_ctrl: - Basismodul für die Kommunikation

define <name> pilight_ctrl <host:port> [api]
host - IP wo der pilight-daemon läuft
port - Port des pilight-daemon
api - pilight version optional, 5.0 oder 6.0 - default 6.0

pilight_switch: - Repräsentation eines Schalters

define <name> pilight_switch <protocol> <id> <unit>
protocol - Protokoll z.B. kaku_switch
id - ID oder Systemcode je nach Protokoll
unit - unit, unitcode oder programcode je nach Protokoll


wenn Du diese Module Fhem hinzufügst und Dein Pilight_ctrl definierst sollte der Befehl

define Stehlampe pilight_switch elro_800_switch 15 1

funktionieren.

gruß
Yves

Risiko

Hallo Marcel,

du verwendest nicht das "richtige" Modul(e). Siehe  1. Beitrag.

Risiko.

@Yves
Danke.

update71

Nabend,

ich bin auch ein Noob und versuche meinen FHEM in die Reihe zu bekommen.
Pilight Module sind eingbaut und FHEM aktuell.
Ich habe einige Steckdosen die ich über die Pilight Webgui schalten kann, über die Konsole ghet es aber komischerweise nicht.
Meine Konfig sieht wie folgt aus:
in Pilight "WZStehlampe": {
         "protocol": [ "elro_800_switch" ],
         "id": [{
            "systemcode": 20,
            "unitcode": 1
         }],
         "state": "on"
      },
das funktioniert über die Webgui

in FHEM:
## Pilight ##
define pilight pilight_ctrl localhost:5000
define WZ_Stehlampe pilight_switch elro_800_switch 20 1
attr WZ_Stehlampe group WZ
attr WZ_Stehlampe room EG_Licht,Wohnzimmer

Im FHEM LOG kommt:
2015.04.08 19:41:13 3: Opening pilight device localhost:5000
2015.04.08 19:41:13 3: pilight device opened
2015.04.08 19:41:13 1: Including ./log/fhem.save
2015.04.08 19:43:50 1: Timeout for pilight_ctrl_Send reached, terminated process 8723
2015.04.08 19:43:50 2: pilight(SendAbort): ERROR. sending aborted
2015.04.08 19:43:52 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:43:52 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:43:53 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:04 1: Timeout for pilight_ctrl_Send reached, terminated process 8724
2015.04.08 19:44:04 2: pilight(SendAbort): ERROR. sending aborted
2015.04.08 19:44:04 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:04 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:04 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:04 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:04 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:04 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:05 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:05 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:06 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:06 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:07 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:07 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:08 3: pilight(Write): Blocking Call running - will try it later
2015.04.08 19:44:08 1: Timeout for pilight_ctrl_Send reached, terminated process 8725
2015.04.08 19:44:08 2: pilight(SendAbort): ERROR. sending aborted
2015.04.08 19:44:12 1: Timeout for pilight_ctrl_Send reached, terminated process 8726
2015.04.08 19:44:12 2: pilight(SendAbort): ERROR. sending aborted

Kann mir jemand sagen was ich falsch mache?

Danke
Thomas
###########
Raspi mit Fhem, nanoCUL 433 + mehrere Brennstuhl Steckdosen - HM-LAN + Thermostat, 6 fach Taster, Aussensensor - HUEBridge + 3 weiße LEDs ... mehr folgt

update71

#40
Hallo,

ich bin nun schon soweit dass ich auch über die Konsole schalten kann (Brennenstuhl, elro_800_switch) aber über fhem gehts immer noch nicht. Hab jetzt auch nochmal den Raspi neu aufgesetzt und Pilight, JSON, FHEM installiert. Hab auch noch nix weiter eingebunden als meine Steckdose. pilight_ctrl und pilight_switch sind eingerichtet aber es geht nichts raus. Ab und an kommt es auch vor dass fhem sich verabschiedet und neu gestartet werden muss. Die Module ctrl und switch habe ich in den FHEM Ordner kopiert und den Raspi neu gestartet.

Ich bin mit meinem Latein am Ende und hoffe nun auf euch.

Btw.: was hat es eigentlich mit dem 98_pilight.pm Modul auf sich? Ist das noch von einem anderen Entwickler?

Th.

Edit:
hier mal noch Meldungen aus dem Log:
2015.04.09 13:00:48 1: Timeout for pilight_ctrl_Send reached, terminated process 2266
2015.04.09 13:00:48 2: Pilight(SendAbort): ERROR. sending aborted

Einen Fehler: malformed json strin ... im modul 10_pilight_ctrl.pm Zeile 511 habe ich auch zwischendurch mal bekommen.
Thomas
###########
Raspi mit Fhem, nanoCUL 433 + mehrere Brennstuhl Steckdosen - HM-LAN + Thermostat, 6 fach Taster, Aussensensor - HUEBridge + 3 weiße LEDs ... mehr folgt

Hauswart

Kann mir jemand die Unterschiede/Vorteile/Nachteile gegenüber dem Modul erklären?
http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/98_pilight.pm
http://fhem.de/commandref.html#pilight

Beim 10_pilight_ctrl.pm Modul werden die Device-Einstellungen direkt von der pilight Konfiguration gezogen und mit dem 98_pilight.pm Modul legt man die Devices physisch erst in FHEM an?
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

update71

So wie ich das verstehe hat das 98_pilight mit den hier besprochenen nichts zu tun (korrigiert mich wenn ich falsch liege).

Bei mir laufen allerdings weder das Eine noch die Anderen :(

>:(
Thomas
###########
Raspi mit Fhem, nanoCUL 433 + mehrere Brennstuhl Steckdosen - HM-LAN + Thermostat, 6 fach Taster, Aussensensor - HUEBridge + 3 weiße LEDs ... mehr folgt

Risiko

Hallo update71,

kann es sein, dass der pilight-daemon nicht auf Port 5000 läuft! Das muss man explizit in der Konfigurationsdatei (config.json) angeben.
Ich habe in diesem Zusammenhang noch was gefixt. Siehe 1. Beitrag.
Wenn keine Verbindung zu pilight aufgebaut werden kann, bekommt man jetzt eine Fehlermeldung.

Risiko.

update71

Hi, der läuft auf 5000 ... ich frickel da jetzt schon seit Stunden dran rum und hab so ziemlich alles was im Netz steht durch :(
Das im FHEM integrierte Modul tuts auch nicht.

Wenn du irgendwas an LOGs etc. brauchst dann gib Bescheid.

Th.
Thomas
###########
Raspi mit Fhem, nanoCUL 433 + mehrere Brennstuhl Steckdosen - HM-LAN + Thermostat, 6 fach Taster, Aussensensor - HUEBridge + 3 weiße LEDs ... mehr folgt