Module für pilight (Senden und Empfangen)

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

Vorheriges Thema - Nächstes Thema

oberfragger

Zitat von: sash.sc am 10 November 2015, 11:00:16
Der Eintrag in deinem log mir dem tfa Sender kann auch ein "rauschen" sein, was von pilight entsprechend interpretiert wird wird. Habe auch identische Einträge im log.

Ich bin hier schon am suchen... kann ich oder besser sollte ich nicht der Fernbedienung (pilight_ctrl) den spezifischen Gerätecode mitgeben? Oder geht das garnicht? Ich schau gerade die 25 Seiten durch.

oberfragger

#376
So... das sieht ja schon alles mal super aus.

Beim Schalten mittel FHEM-Webfrontend wechseln sich nun die definierten Lichtschalter on/off ab. Das Webfrontend zeigt mir nun auch an, wenn ich diese Signal via Fernbedienung sende.   8)

:) Klasse Arbeit Risiko! Danke! :)

2 Fragen die noch offen sind. Wie bekomme ich die PERL:Warnung weg? Müsste hier vielleicht noch was am Modul gemacht werden oder ist dieses ein lokales Problem? Wenn ich das richtig lese, wird der isdigit-Befehl nicht mehr genutzt??? Dieser taucht auch in den entsprechenden Zeilen der 10_pilight_ctrl.pm auf (das sind auch die einzigen Einträge damit.

Ergänzung: Ist veraltet. Quelle http://perldoc.perl.org/POSIX.html
Zitatisdigit
Deprecated function whose use raises a warning, and which is slated to be removed in a future Perl version. It is very similar to matching against qr/ ^ [[:digit:]]+ $ /x , which you should convert to use instead. The function is deprecated because 1) it doesn't handle UTF-8 encoded strings properly; and 2) it returns TRUE even if the input is the empty string. The function return is always based on the current locale, whereas using locale rules is optional with the regular expression, based on pragmas in effect and pattern modifiers (see Character set modifiers in perlre and Which character set modifier is in effect? in perlre).
The function returns TRUE if the input string is empty, or if the corresponding C function returns TRUE for every byte in the string.
You may want to use the /\d/ construct instead.

Leider bin ich (im programmieren) etwas zu schlecht um dieses anzupassen. Vielleicht ist es ja nur ein Tausch der Funktionen...?!? :-X

2015.11.10 13:26:14 1: PERL WARNING: Calling POSIX::isdigit() is deprecated at ./FHEM/10_pilight_ctrl.pm line 284.
2015.11.10 13:26:24 1: PERL WARNING: Calling POSIX::isdigit() is deprecated at ./FHEM/10_pilight_ctrl.pm line 395.
2015.11.10 13:26:24 1: PERL WARNING: Calling POSIX::isdigit() is deprecated at ./FHEM/10_pilight_ctrl.pm line 396.


Die zweite Frage- wie mache ich mein Log etwas sauberer...? Ich benutze 2 verschiedene Fernbedienungen. Hier mal die Definition der beiden.

# ELRO Fernbedienung Wohnzimmer
define Wohnzimmer_Fernbedienung pilight_ctrl localhost:5000
attr Wohnzimmer_Fernbedienung brands elro
attr Wohnzimmer_Fernbedienung group Allgemein
attr Wohnzimmer_Fernbedienung icon access_keypad_2
attr Wohnzimmer_Fernbedienung ignoreProtocol arctech_screen_old:*
attr Wohnzimmer_Fernbedienung room Wohnzimmer

# IT Fernbedienung Schlafzimmer
define Schlafzimmer_Fernbedienung pilight_ctrl localhost:5000
attr Schlafzimmer_Fernbedienung brands elro
attr Schlafzimmer_Fernbedienung group Allgemein
attr Schlafzimmer_Fernbedienung icon access_keypad_2
attr Schlafzimmer_Fernbedienung ignoreProtocol ev1527:*
attr Schlafzimmer_Fernbedienung room Schlafzimmer


Als Ausgabe erhalte ich im Log immer 5 Einträge.

2015.11.10 13:34:36 3: Schlafzimmer_Fernbedienung: Unknown code PISWITCH,pollin,1,8,on, help me!
2015.11.10 13:34:36 3: Wohnzimmer_Fernbedienung: Unknown code PISWITCH,elro_800_contact,1,8,opened, help me!
2015.11.10 13:34:36 3: Wohnzimmer_Fernbedienung(Parse): unknown protocol -> ev1527
2015.11.10 13:34:36 3: Schlafzimmer_Fernbedienung: Unknown code PISWITCH,pollin,1,8,on, help me!
2015.11.10 13:34:36 3: Wohnzimmer_Fernbedienung(Parse): unknown protocol -> ev1527
2015.11.10 13:34:36 3: Schlafzimmer_Fernbedienung: Unknown code PISWITCH,pollin,1,8,on, help me!
2015.11.10 13:34:36 3: Wohnzimmer_Fernbedienung(Parse): unknown protocol -> ev1527

Risiko

Hallo oberfragger,

isdigit habe ich ersetzt. Ab morgen per Update.
Zum zweiten Teil (da hast du leider so Einiges falsch oder gar nicht verstanden, Sorry):

1. Es wird nur einmal das Device pilight_ctrl zur Kommunikation mit pilight benötigt!!!!
2. Pro Schalter, Dose, Taste der Fernbedienung, etc. (einzelne Geräte) benötigt man ein pilight_switch
3. Wenn alle Protokolle und ID's bekannt sind, kann man in pilight_ctrl ignoreProtocol auf "*" setzen.
Also ungefähr so:

define pilight pilight_ctrl localhost:5000
attr pilight ignoreProtocol *

define Schalter_Schlafzimmer pilight_switch pollin 1 8
define Schalter_Wohnzimmer pilight_switch elro_400_switch 6 31


Hoffe ich habe die Protokolle und ID's so richtig aus deinen Beiträgen heraus gesucht.

Risiko

oberfragger

#378
Hallo Risiko,

vielen Dank für die schnelle Info und das schnelle Update.

1. Ok, verstanden. Habe da 2 Fernbedienungen vom gleichen Typ. Klar kann ich nun eine weglassen...
2. Jupp auch klar.
3. Werde ich mal gleich testen.

Danke für den Service dass Du sogar die Schalterdefinition gepostet hast! Das ist zu freundlich von Dir. War nicht meine Erwartung. Danke. -> hatte ich auch schon selbstständig hinbekommen yay! Sind beide Male Elro 800.

define Wohnzimmer_A pilight_switch elro_800_switch 1 1
define Schlafzimmer_A pilight_switch elro_800_switch 19 1


Hab das alles vorbereitet, zuhause angeschlossen. Bin begeistert. Nun funktioniert es so wie es soll (also das Lämpchen wird bei Benutzung der FB auch umgeschaltet). Super. Systemlast (im pilight webfrontend abgelesen) ist nie über 20%.

Ansonsten- diese Chinadinger haben ja eine miserable Empfangsleistung. Hatte das gelesen...sollte mal überlegen ob ich da wirklich die 3 Euro für die SMA-Buchse ausgebe um da eine bessere Antenne anzulöten.

sash.sc

#379
Hallo zusammen.
Ich habe einen Sender mit pilight an laufen, der bis zu 12V= verträgt. Einen gemeinsamen Massepunkt für die externe Spannungsversorgung und dem Sender. Den braucht man, da sonst der Sender nix sendet. Peinlichst darauf achten das der externe pluspol nur an den entsprechenden Anschluss an den Sender kommt.

Bei mir hatte es denn Effekt, dass ich durch 2 Wände mehr gekommen bin. Laut den technischen Daten hat der Sender bei 12v eine Leistung von bis zu 34mW. Da kommt man schon ein bisschen weiter
Habe einen Sender mit 9V Block im Moment am laufen.

Werde mal den Typ raus suchen.

Nachtrag : hier ist der Sender bis zu 12V Betriebsspannung

(http://images.tapatalk-cdn.com/15/11/12/9fbcc96a142a41d43e7c9be4608c12e1.jpg)
(http://images.tapatalk-cdn.com/15/11/12/03a345fa28e68a0eee5117000df0d8bb.jpg)
(http://images.tapatalk-cdn.com/15/11/12/8a1789b3a76aa75125d1473d877019bb.jpg)
(http://images.tapatalk-cdn.com/15/11/12/b205bb9ffe404a134fd78cd395d0061a.jpg)(http://images.tapatalk-cdn.com/15/11/12/7b583d541c6f498414860f642666d596.jpg)
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Tueftler1983

Hallo nochmal also über pilight-receive bekomme ich nix an Daten rein wenn ich den Test Knopf drücke.
Über pilight_raw bekomme ich volgendes rein:
433gpio:  5365 -#: 1
433gpio:  1385 792 2962 508 1470 732 1440 786 1413 736 1504 671 2834 719 1465 746 1453 753 2828 766 1421 727 2827 665 2811 733 2817 793 1394 1068 1169 724 2772 737 2808 734 2830 769 1418 768 1456 735 1438 725 2786 776 17552 -#: 47
433gpio:  8094 -#: 1
433gpio:  1751 2754 738 1495 681 2839 797 1391 693 1523 700 1489 1364 1522 2874 680 1476 736 1459 726 2889 742 1408 673 2869 674 2834 750 2797 702 1547 699 1460 694 2985 558 2813 745 2786 717 1504 848 1344 784 1393 747 2731 753 17652 -#: 49
433gpio:  8069 -#: 1
433gpio:  1795 2707 702 1551 753 2711 728 1805 443 1431 762 1711 448 1465 758 2777 730 1502 723 1463 703 2854 688 1478 747 2790 740 2831 724 2778 726 1506 694 1512 712 2787 729 2839 745 2810 683 1503 696 1505 743 1425 758 2754 708 17841 -#: 50
433gpio:  8055 -#: 1
433gpio:  1743 2735 723 1516 699 2803 721 1537 698 1448 758 1491 691 1447 759 2837 673 1500 727 1439 722 2847 698 1507 714 2788 730 2835 748 2813 684 1492 706 1503 739 2760 740 2829 735 2816 692 1498 697 1508 695 1466 765 2744 717 17281 -#: 50
433gpio:  8090 -#: 1
433gpio:  1668 2794 763 1438 992 2602 736 1437 699 1490 703 1468 733 1480 744 2777 803 1436 690 1506 687 2849 743 1422 743 2841 734 2791 699 2836 705 1499 732 1445 733 2832 710 2819 706 2854 686 1472 755 1440 733 1501 685 2774 714 17264 -#: 50
433gpio:  8089 -#: 1
433gpio:  1729 2788 714 1552 679 2828 671 1565 630 1486 793 1414 697 1509 723 2800 707 1506 734 1433 743 2839 680 1517 714 2828 680 2849 724 2786 756 1453 704 1488 745 2784 726 2843 712 2802 756 1439 726 1558 662 1428 735 2778 699 17318 -#: 50
433gpio:  8086 -#: 1
433gpio:  1657 2822 716 1472 718 2829 754 1593 603 1449 733 1438 727 1487 742 2788 765 1491 659 1503 696 2821 730 1464 760 2799 756 2784 706 2893 661 1462 729 1467 768 2775 761 2776 725 2869 677 1461 733 1468 762 1479 678 2817 706 17292 -#: 50
433gpio:  8135 -#: 1
433gpio:  1652 2809 758 1443 745 2835 668 1509 689 1493 688 1503 725 1446 719 2860 682 1527 700 1456 759 2820 695 1508 798 2700 723 2873 668 2813 736 1470 713 1766 509 2736 732 2849 691 2807 733 1467 755 1506 731 1428 706 2783 691 153097 -#: 50
433gpio:  17745 -#: 1
433gpio:  1655 2558 1025 153 2364 308 2463 552 176 445 5003 235 290 5450 -#: 14
433gpio:  2460 8664 -#: 2
433gpio:  1851 1067 572 187 6323 -#: 5
433gpio:  4402 832 1356 790 2847 699 1401 805 1393 776 1454 753 1463 771 2743 736 1478 719 1480 797 2722 750 5037 703 2944 570 2804 760 1434 745 1456 723 2842 713 2837 688 2834 744 1440 749 1512 658 1483 713 2806 722 17227 -#: 47
433gpio:  8044 -#: 1
433gpio:  1711 2808 677 1526 1017 2504 698 1520 693 1493 756 1427 700 1480 748 2795 787 1461 677 1497 691 2827 713 1507 739 2779 748 2805 705 2803 733 1475 723 1500 727 2781 760 2810 714 2848 677 1495 699 1550 679 1440 759 2801 648 17264 -#: 50
433gpio:  8107 -#: 1
433gpio:  4461 722 1432 772 2866 1028 1098 688 1471 752 1448 748 1475 698 2856 720 1451 710 1508 724 2796 740 1477 691 2833 738 2783 726 2865 709 1446 751 1485 690 2886 689 2780 752 2828 694 1470 797 1428 692 1523 672 2784 690 181170 -#: 49
433gpio:  3323 8639 -#: 2
433gpio:  1944 1157 212 7360 -#: 4
433gpio:  3161 414 149 259 1250 364 4241 4827 308 953 249 408 150 261 258 915 533 7469 -#: 18
433gpio:  2409 6314 -#: 2
433gpio:  1624 255 3185 376 252 341 237 283 1317 413 485 1777 349 310 531 299

Vielleicht hilft es ja weiter ich kann mit den raw code nix anfangen

Risiko

Hallo Tueftler1983

Das Protokoll "elro_fa20rf" scheint noch nicht offiziell in pilight enthalten zu sein.
Daher zeigt pilight-receive sehr wahrscheinlich auch nichts an.

Wenn die Codes richtig sind (also nicht nur Rauschen), dann kannst du mit dem FHEM-Modul pilight_raw einen Schalter zum Senden der Codes verwenden.
Die Codes sollten natürlich mit pilight-send -p raw -c <code> funktionieren, sonnst wird es mit FHEM auch nichts.
Mit dem FHEM-Modul pilight_raw kann man nur von FHEM Senden (pilight-receive empfängt ja nichts!!!)

Vorhand

Hilfe!

pilight funktioniert auf meinem Raspi und fhem geht.
Bei Eingabe von "define myctrl pilight_ctrl localhost:5000" erscheint es bei Unsorted - aber mit disconnected. "set myctrl reset" führt zu keiner Veränderung.
Wenn ich das mit dem port 5001 definiere, erscheint open - aber nur kurz.
5001 ist ja wohl für webgui von pilight, was ja auch geht.

Muss ich in json.conf was eintragen, wenn ich mit fhem darauf zugreifen will?

Danke
Viele Grüße
Raspi,Homatic,ESP,Fronius,KIA-PHEV,DHW300,Mi,Shelly

sash.sc

Ja. Steht aber hier auch im Beitrag weiter vorne.

Gesendet von meinem C6603 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Beagel

Hallo zusammen,
bin neu in der Materie und komme irgend wie nicht weiter nach Eingabe von:

#Pilight
define mytest plight_ctrl localhost:5000 7.0
attr mytest brands elro
attr mytest room pilight
define Reserve_oben pilight_switch elro_800_switch 22 4
attr Reserve_oben room pilight

kommt als Fehlermeldung:

Unknown module plight_ctrl Please define mytest first Please define mytest first Cannot load module pilight_switch Please define Reserve_oben first

Module habe ich über update geholt.
mit Modul 98_pilight konnte ich schon Intertechno schalten wollte jetzt aber auch elrostecker schalten,
daher wollte ich umsteigen.
Alle alten Einträge zu pilight habe ich in der fhem.cfg gelöscht.
Muß noch irgendetwas in pilight und auf dem Pi installiert werden?

Gruß

oberfragger

#385
Oha!

Dank google gefunden, dass er "plight" nicht mochte. Bitte noch das "i" in pilight_ctrl ergänzen!
Zitat von: Beagel am 16 November 2015, 23:52:13

#Pilight
define mytest pilight_ctrl localhost:5000 7.0
attr mytest brands elro
attr mytest room pilight
define Reserve_oben pilight_switch elro_800_switch 22 4
attr Reserve_oben room pilight

kommt als Fehlermeldung:

Unknown module pilight_ctrl

snip!

-> die API kannste weglassen. Und dann wie von Risiko empfohlen noch

attr mytest ignoreProtocol *
ergänzen. Dann wird das Log nicht so zugemüllt.

Beagel

#386
Danke, war wohl etwas spät hab den Wald vor lauter Bäumen nicht mehr gesehen :)
die Autokorrektur schlägt immer wieder bei Eingabe von pilight zu, muss ich im Auge behalten. ;D

Jetzt klappt es, es werden Elro und auch Intertechno Funksteckdosen geschaltet, allerdings ändert sich das Lampen icon nicht.
update: Lampenicon ändert sich jetzt beim schalten, allerdings muß der Schaltbefehl mehrmals hintereinander gedrückt werden, kann man das irgend wo einstellen?

Gruß

oberfragger

Steht in fhem.cfg auch das ctrl vor den switches? Poste sonst mal die Definition (wenn Du auf den Namen der Devices klickst) der Fernbedienung (pilight_ctrl) und eines Switches (pilight_switch).

Beagel

Hallo hier ein Auszug aus der fhem.cfg
#-----------pilight-----------------
define pilight pilight_ctrl localhost:5000
attr pilight brands arctech:kaku
attr pilight ignoreProtocol *
attr pilight room pilight
define Reserve_oben pilight_switch elro_800_switch 22 4
attr Reserve_oben room Funksteckdosen
define Reserve_oben_an at *{sunrise(0,"06:30","08:30")} set Reserve_oben on
define Stehlampe_oben pilight_switch elro_800_switch 22 1
attr Stehlampe_oben room Funksteckdosen
define Fernseher_oben pilight_switch elro_800_switch 22 2
attr Fernseher_oben room Funksteckdosen
define Wohnzimmer_Rechts pilight_switch kaku_switch 11196830 0
attr Wohnzimmer_Rechts room Funksteckdosen
define Wohnzimmer_Links pilight_switch kaku_switch 11196830 1
attr Wohnzimmer_Links room Funksteckdosen
define Sideboard pilight_switch kaku_switch 11196830 2
attr Sideboard room Funksteckdosen
define Sideboard_an at *{sunset(0,"16:30","22:30")} set Sideboard on
define Buero_oben pilight_temp ds18b20 041590217bff
attr Buero_oben room Heizung


pilight_ctrl:
API  6.0
DEF   localhost:5000
DeviceName localhost:5000
FD 12
NAME pilight
NR 70
NTFY_ORDER  50-pilight
PARTIAL RETRY_INTERVAL  60
STATE connected
TYPE  pilight_ctrl

Readings
rcv_raw  empty  2015-11-18 11:12:02
state  connected 2015-11-18 11:12:02

Attributes
brands        arctech:kaku  deleteattr
ignoreProtocol   *           deleteattr
room                pilight    deleteattr



pilight_switch:
DEF   kaku_switch 11196830 2
ID    11196830
IODev pilight
NAME  Sideboard
NR   77
PROTOCOL kaku_switch
STATE  off
TYPE  pilight_switch
UNIT 2

hoffe das bei copy/paste nicht weggelassen wurde :D

oberfragger

#389
Also ich bin raus. Normalerweise sollte das Icon umschalten. Das sieht bei mir nicht viel anders aus- außer dass ich noch eine IODev und einen Messagecount ahbe. Das hängt glaube cih eher damit zusammen dass ich parallel den Empfänger dran habe.

Ändert sich denn der "State" der Switches wenn Du anschaltest? Weil schalten geht ja bei Dir via Weboberfläche- nur das Icon wechselt nicht mit...?

"update" und reboot hast Du auch mal in der letzten Zeit gemacht?
Kannst Du ggf. mal diese "defines" auskommentieren und überprüfen was passiert...?define Reserve_oben_an at *{sunrise(0,"06:30","08:30")} set Reserve_oben on

Anmerkung (ist wirklich nicht im Besserwissermodus gemeint):
Momentan sind die Namen ja selbsterklärend... aber für später (wenn Du viele Devices angeschlossen hast- lasse zwischen den einzelnen Sensoren/ Aktoren etc. eine Zeile frei und besser noch...kommentier die nächste Zeile. Dann lässt sich das auch für andere etwas besser lesen  ::). So in dieser Art:# ELRO Fernbedienung Wohnzimmer
define Fernbedienung pilight_ctrl localhost:5000
attr Fernbedienung brands elro
attr Fernbedienung icon it_remote
attr Fernbedienung ignoreProtocol *

# Schlafzimmer Steckdose A
define Schlafzimmer_A pilight_switch elro_800_switch 19 1