Module für pilight (Senden und Empfangen)

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

Vorheriges Thema - Nächstes Thema

Risiko

Hallo Funk.Odyssey,

1. das 98_pilight.pm Modul bleibt unangetastet. Die Module xx_pilight_yy haben da keinen Einfluss
2. Das wollte ich dir eben als Lsg. schreiben

Prima. Scheint ja jetzt zu funktionieren!? Viel Spaß.

Risiko

Tobias

Hi,
sieht sehr interessant aus das Projekt ;) Dazu habe ich einige Fragen:
1. Wird es noch eine WikiSeite geben? Auf die erste Suche habe ich nichts gefunden
2. Ist es nur für Raspberry verfügbar?
3. z.Z. habe ich einen RfxTRX von RFXcom. Damit empfange ich jede Menge Temp/Luftfeuchtesensoren TX3-TH sowie FunkRauchmelder FA20RF. Kann ich den RFXTRX durch Pilight ablösen?
4. Ist immer noch der originale PiLight Deamon als BackgroundProzess nötig oder ist alles in FHEM abgewickelt (analog wie ein CUL - da gibt es auch keinen Background Prozess)
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Risiko

Hi Tobias

1. Wenn ich mal viel viel Zeit habe. :(  Meiner Meinung nach bekommt man alles aus den commandref raus
2. Es sollte auf allen System laufen, auf denen pilight und FHEM läuft. 
3. Es kommt darauf an, ob pilight all deine Hardware unterstützt. Wenn es mit dem RFXTRX funktioniert, warum wechsel. Ist evtl. wegen 4. sogar die bessere Lösung
4. piligtht-daemon wird zwingend benötigt. Die Module kommunizieren nur mit dem daemon. Eine Konfiguration für speziellen Hardware ist in pilight aber nicht notwendig.

Risiko.

StG (DD)

Hi,

also zu allererst ein großes Lob, super Arbeit. Ende letzten Jahres habe ich schon mal nach einer einfachen pilight-Integration geschaut und war geknickt weil es nix gab. Und nun habe ich gestern durch Zufall deine Module gesehen - Bingo, das habe ich gesucht. Ich habe nun ein paar Detailfragen:



1. ignoreProtocol:

Attribut: ignoreProtocol
Wert: alecto_wsd17

Trotzdem wird mein Logfile mit Einträgen gefüttert.

2015.05.07 20:33:10 3: pilight(Parse): ERROR no or unknown id {"code":{"temperature":1801,"humidity":550,"battery":1},"origin":"receiver","protocol":"alecto_wx500","uuid":"0341-91-45-48-554848","repeats":6}
2015.05.07 20:33:10 3: pilight: Unknown code PITEMP,alecto_wsd17,3509,255,, help me!

Wie kann ich das korrigieren und mehrere Protokolle angeben?




2. Wie kann ich die Messwerte anpassen. Meine Temperatursensoren senden die Daten ohne Kommastelle, also eine Zehnerpotenz zu hoch. 239 °C im Wohnzimmer sind mir dann doch etwas zu warm, wie kann ich das korrigieren?

rcv_raw {"code":{"id":1296,"temperature":239,"humidity":370,"battery":1},"origin":"receiver","protocol":"alecto_ws1700","uuid":"0341-91-45-48-554848","repeats":1}




3. Ich kann mit der GUI meinen "Intertechno Funk- Jalousieschalter CMR 500"  steuern (via intertechno_old). Der Status wird richtig geschalten. Wenn ich mit meinem "Intertechno YWT-8500 Funk-Wandsender" den Rolladen schließe, wird der Statuswechsel nicht vom pilight-control registriert und der Status ist bleibt "open". Bei pimatic und Verbindung mit pilight hat das funktioniert.




In FHEM bin ich blutiger Anfänger, arbeite erst seit Montag damit. Verzeih mir also bitte die Fragen, falls sie zu easy sind  ???
Viele Dank für Deine Hilfe, Stephan

Risiko

Hallo StG (DD)

1. wenn du alecto_wsd17 komplett ignorieren willst, muss es alecto_wsd17:* heißen
2. Aktuell geht das nicht. Ich habe auch alecto_ws1700 Sensoren und bekomme "richtige" Werte. Evtl mal pilight aktualisieren bzw. nightly build testen.
3. Wahrscheinlich muss hier das Attribut brands richtig gesetzt werden. Hängt davon ab, was pilight beim Empfang als Protokoll meldet. Am Besten mal mit pilight-receive schauen oder verbose in pilight_ctrl auf 5 stellen und im Log nachsehen.

Risiko

klausw

Hallo Risiko,

sehr schönes Modul, habe es sofort zum laufen bekommen.

Allerdings habe ich einen Baumarktdimmersatz von TCM, der zwar von pilight unterstützt wird, aber nicht von Deinem Modul.

Die 4 Kanäle (unit 0-3) mit ein/aus Taste werden als quigg_gt7000 mit state on/off erkannt.
Weiterhin gibt es auf der Fernbedienung eine up/down Wippe, die je nach zuvor gedrücktem Kanal ein hoch und runterdimmen ermöglicht. Der state ist dann aber up/down.

Ich habe testweise in Zeile 594 von 10_pilight_ctrl.pm
    case m/quigg_screen/ {$protoID = 1;}
    case m/quigg_gt7000/ {$protoID = 1;}

eingefügt.

Das funktioniert schonmal teilweise.

Mit
define test01 pilight_switch quigg_gt7000 576 0
define test01 pilight_switch quigg_screen 576 0


habe ich 2 Testdevices angelegt.
Die Ferbedienungssignale werden korrekt angezeigt. (on/off für quigg_gt7000 und up/down für quigg_screen)
Das schalten aus dem Modul heraus funktioniert für on/off auch.

Für quigg_screen funktioniert das leider noch nicht. Man kann ja auch nur set on/off auswählen.

pilight-send -p quigg_screen -i 576 -u 1 -f und pilight-send -p quigg_screen -i 576 -u 1 -t funktionieren.

Kannst du das bitte noch implementieren?

grüße
Klaus
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

atommeyer

Hallo Risiko,

zuerst mal vielen Dank für Deine hervorragende Arbeit mit diesem Modul!

Ich habe ein Problem mit "ignoreProtocol" und zwar empfängt mein Pilight viele Falsche IDs. Ich könnte natürlich jede ID einzeln ignorieren, aber dies wären sehr viele. Mit pilight-receive empfange ich auch all diese Falschen IDs. Es sind offensichtlich Falsche da die Messwerte alle übereinstimmen. Nebenbei, es liegt nicht am Protokoll, die gleichen Probleme habe ich auch mit dem originalen alecto_ws1700.


2015.05.08 01:02:34 3: pilight_link: Unknown code PITEMP,alecto_ws1700vz,1434,20.7,58, help me!
2015.05.08 01:03:09 3: pilight_link: Unknown code PITEMP,alecto_ws1700vz,1930,20.7,58, help me!
2015.05.08 01:04:19 3: pilight_link: Unknown code PITEMP,alecto_ws1700vz,1434,20.7,58, help me!
2015.05.08 01:04:19 3: pilight_link: Unknown code PITEMP,alecto_ws1700vz,1422,20.7,58, help me!
2015.05.08 01:04:19 3: pilight_link: Unknown code PITEMP,alecto_ws1700vz,1482,20.7,58, help me!
2015.05.08 01:04:54 3: pilight_link: Unknown code PITEMP,alecto_ws1700vz,1422,20.7,58, help me!
2015.05.08 01:06:04 3: pilight_link: Unknown code PITEMP,alecto_ws1700vz,1930,20.7,58, help me!
2015.05.08 01:06:39 3: pilight_link: Unknown code PITEMP,alecto_ws1700vz,1419,20.7,58, help me!


Gibt es eine andere Möglichkeit, oder habe ich womöglich ein Problem mit Pilight? Kann ich die FHEM Konfiguration so anpassen das nur die parametrierten Protokolle empfangen werden? Funkionieren tut übrigens alles, nur wird mir das FHEM.log vollgeschrieben.


Gruß atommeyer

Risiko

Hallo klausw

Deine Hardware ist hier http://wiki.pilight.org/doku.php/protocols leider  nicht gelistet - jedenfalls nicht als Dimmer.

Der Switch für das Protokoll lässt sich zeitnah einbauen. Sollte kein Problem sein.
Das mit dem Screen ("up/down Wippe") habe ich noch nicht ganz verstanden.
Das scheint was Spezielles zu sein. Den screen auf einen Schalter zu mappen, ist meiner Meinung nach nicht richtig.
Bei mir liefert pilight screen-Messages, wenn man die Taste der Fernbedienung gedrückt hält.

Ich werde mir mal was überlegen. Evtl. Up/Down zum Dimmer hinzufügen. Wird aber etwas dauern.

Könntest du mir bitte mal die Meldungen von pilight-receive beim drücken bzw beim gedrückt halten der Wippe schicken.

Risiko.

Risiko

@atommeyer

Meiner Meinung nach liegt es an der Hardware - besonders am Rauschen.
Verwendest du einen Filter?
Ich habe auch die Erfahrung gemacht, dass Lirc statt GPIO weniger empfindlich ist.
http://forum.fhem.de/index.php/topic,34632.msg287771/topicseen.html#msg287771

Zitat von: atommeyer am 08 Mai 2015, 08:29:34
Kann ich die FHEM Konfiguration so anpassen das nur die parametrierten Protokolle empfangen werden?

Genau an diesem Thema arbeite ich gerade. Bitte etwas Geduld

Risiko


FunkOdyssey

Auf der ersten Seite des Threads wurde die Frage bereits gestellt, aber ich konnte keine Antwort darauf finden:

Der State der Pilight-Switche bleibt im Status "defined". Gibt es eine Chance, wie man den (wie beim anderen Pilight-Modul) auf on|off setzen kann? Mir ist bekannt, dass es keinen Rückkanal gibt, aber das passte dennoch so gut wie immer.

Danke.

klausw

Zitat von: Risiko am 08 Mai 2015, 18:10:03
Hallo klausw

Deine Hardware ist hier http://wiki.pilight.org/doku.php/protocols leider  nicht gelistet - jedenfalls nicht als Dimmer.

Der Switch für das Protokoll lässt sich zeitnah einbauen. Sollte kein Problem sein.
Das mit dem Screen ("up/down Wippe") habe ich noch nicht ganz verstanden.
Das scheint was Spezielles zu sein. Den screen auf einen Schalter zu mappen, ist meiner Meinung nach nicht richtig.
Bei mir liefert pilight screen-Messages, wenn man die Taste der Fernbedienung gedrückt hält.

Ich werde mir mal was überlegen. Evtl. Up/Down zum Dimmer hinzufügen. Wird aber etwas dauern.

Könntest du mir bitte mal die Meldungen von pilight-receive beim drücken bzw beim gedrückt halten der Wippe schicken.

Risiko.

Hi Risiko,

Es kann natürlich auch sein, das die Fernbedienung nur zufällig zu dem quigg Kram passt.

habe mal nen Foto der Fernbedienung angehängt
Die aus/ein Tasten oben bringen:
{
        "message": {
                "id": 3520,
                "unit": 0,
                "state": "on"
        },
        "origin": "receiver",
        "protocol": "quigg_gt7000",
        "uuid": "0000-b8-27-eb-b231f0",
        "repeats": 1
}

die id ändert sich nach Batteriewechsel oder drücken des Resetknopfes
unit gibts 0-3 je nach reihe
lange drücken sorgt nur dafür, das "repeats" hochzählt

Die aus/ein Tasten unten im Kreis erzeugen die gleiche message.
Die unit entspricht dann der zuletzt Gewählten (durch drücken einer der 8 oberen ein/aus tasten)

Die hell/dimmen Tasten unten im Kreis erzeugen:
{
        "message": {
                "id": 3520,
                "unit": 0,
                "state": "up"
        },
        "origin": "receiver",
        "protocol": "quigg_screen",
        "uuid": "0000-b8-27-eb-b231f0",
        "repeats": 1
}

für hell
bzw. "down" für dimmen
lange drücken sorgt auch hier nur dafür, das "repeats" hochzählt
Die unit entspricht auch hier der zuletzt gewählten Zeile (durch drücken einer der 8 oberen ein/aus tasten)

Also für:
{
        "message": {
                "id": 3520,
                "unit": 1,
                "state": "down"
        },
        "origin": "receiver",
        "protocol": "quigg_screen",
        "uuid": "0000-b8-27-eb-b231f0",
        "repeats": 1
}

Muss ich zuerst ein oder aus in Zeile 2 Drücken und anschließend die Dimmen Taste.
Dabei dimmt bei jedem Tastendruck die Lampe um 5% runter.
Wenn man gedrückt hält dimmt es halt bis zum loslassen oder bis es aus ist.
pilight-send -p quigg_screen -i 3520 -u 1 -f
erzeugt bei pilight-receive das gleiche (als origin sender)
und
pilight-send -p quigg_screen -i 3520 -u 1 -t
äquivalent den state up

Daher würde ich es nicht direkt als Dimmer bezeichnen, da sich kein Dimmwert einstellen lässt, sonder nur stufenweise hoch/runterdimmen.
Im Grunde würde es reichen, wenn man bei pilight_switch als attribut das up/down wählen könnte.
Ich verstehe sowieso nicht, wieso das nicht einfach mit on/off fuktioniert. Die Befehle mit pilight-send sind doch die gleichen.
Oder läuft das über den webport anders?




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

Risiko

Hallo @all

mit ignoreProtocol * wird alles ignoriert, bis auf die Protokoll-ID-Kombinationen durch definierte Submodule.
Außerdem Protokoll quigg_gt* (quigg_gt7000) für Schalter ergänzt.

Ab morgen per update.

Risiko

Risiko

#117
Hallo Funk.Odyssey,
Zitat von: Funk.Odyssey am 08 Mai 2015, 19:08:53
Der State der Pilight-Switche bleibt im Status "defined".
Nein. Wenn alle i.O. ist, bleibt er das nicht.
So sieht es z.B. für ein Kaku\intertechno_old_Switch aus

Risiko

Hi klausw,

woher nimmst du die 5% Änderung für ein einmaliges Schalten (up,down) mit quigg_screen?

Da durch quigg_screen up\down gedimmt wird, gehört es eher zum Dimmer. Auch wenn man keinen Dimlevel direkt setzen kann.
Könnte mir folgendes vorstellen (noch nicht 100% sicher).

Erweiterung Dimmer:
Step:  Schrittweite (0-kontinuierlich)
ON\OFF (gibt es ja schon): Dimlevel auf 100\0% setzen (evtl. einstellbar)
Up\Down: senden und verändern des Dimlevels um Step
Dimlevel setzen: N mal up\down senden, wenn Dimmer keinen direkten Dimlevel hat

Risiko.

klausw

Hi Risiko,
Zitat von: Risiko am 09 Mai 2015, 12:11:18
woher nimmst du die 5% Änderung für ein einmaliges Schalten (up,down) mit quigg_screen?
Habe ich mir aus den Fingern gesaugt ;)
...gerade eben nochmal probiert. Mit 11x kurz auf dimmen drücken ist die Lampe von 100% auf nicht mehr sichtbar gedimmt.
Bei dem zweiten sind es 10 Stufen (ist vermutlich vom Leuchtmittel abhängig)

Zitat von: Risiko am 09 Mai 2015, 12:11:18
Da durch quigg_screen up\down gedimmt wird, gehört es eher zum Dimmer. Auch wenn man keinen Dimlevel direkt setzen kann.
Könnte mir folgendes vorstellen (noch nicht 100% sicher).

Erweiterung Dimmer:
Step:  Schrittweite (0-kontinuierlich)
ON\OFF (gibt es ja schon): Dimlevel auf 100\0% setzen (evtl. einstellbar)
Up\Down: senden und verändern des Dimlevels um Step
Dimlevel setzen: N mal up\down senden, wenn Dimmer keinen direkten Dimlevel hat
Die Idee ist super, das hätte ich sonst mit notify und so nachgebastelt.
Aber direkt im Modul ist das eleganter.

Klaus
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