FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: StefanStrobel am 23 April 2017, 21:18:08

Titel: Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 23 April 2017, 21:18:08
Hallo,

Anbei ein Prototyp für ein Modul zur Anbindung von Fhem an den PHC-Bus von Peha.
Zur Verbindung benötigt man einen RS485-Adapter. Ich verwende einen Digitus DA-70157.
Der Adapter wird mit drei Adern (GND, +Data und -Data) direkt an den Modul-Bus angeschlossen.

Folgendes ist damit machbar:
Mitlesen aller Nachrichten auf dem Bus soweit sie vom Modul schon unterstützt werden. Dabei werden die Zustände aller Ein- und Ausgangsmodule verfolgt und in Readings abgebildet. Innerhalb von Fhem kann man so auf Taster an PHC-Eingangsmodulen oder den Status von PHC-Ausgangsmodulen reagieren.

Das Modul unterstützt bisher die typischen Eingangsmodule, Ausgangsmodule, Rolladenmodule, das MMC, Infrarotmodul, Enocean-Funkmodul, und Dimmer-Module. Weitere Module oder fehlende Protokollnachrichten sollten sich in den meisten Fällen durch ergänzen von Tabellen im Modul-Code ergänzen lassen.

Das Modul kann ein Kanalliste mit der Beschreibung aller Module und Ein- / Ausgänge, die man mit der PHC-Systemsoftware von Peha exportieren kann, in Fhem importieren und dann zur Benennung der Ein- und Ausgänge verwenden. Die Modultypen und Namen der Ein- und Ausgänge werden dabei als Attribute angelegt.

Um Nachrichten an das PHC-Steuermodul schicken zu können, kann das Fhem-Modul ein 16-Kanal Eingangsmodul simulieren und so Tastendrücke an das PHC-Steuermodul schicken. Ausgangsmodule lassen sich leider nicht simulieren. Dafür ist Fhem auf einem Raspberry nicht schnell genug. Um innerhalb von Fhem auf einen Tastendruck im PHC-System zu reagieren, muss man einfach auf die Änderung des Readings für das Eingangsmodul reagieren. Da das Modul alle Nachrichten auf dem Bus mitliest und daraus Readings erzeugt, ist das mit den normalen Fhem-Boardmitteln leicht möglich.

Generell ergeben sich einige Einschränkungen aus der Funktionsweise des PHC-Bussystems. Als Zentrales Element ist hier ein PHC-Steuermodul von Peha vorgesehen. Auf dieses Modul wird ein Programm geladen, das mit der PHC-Systemsoftware erzeugt wird. Es empfängt und bestätigt Nachrichten von Eingangsmodulen wenn z.B. eine Taste gedrückt wurde und gibt Befehle an Ausgangmodule um z.B. Lampen zu schalten. Jede Nachricht muss von der Gegenseite sehr schnell bestätigt werden. Auf die Nachricht eines Eingangsmoduls kommt sofort ein Ack vom Steuermodul und auf den Befehl des Steuermoduls an ein Ausgangsmodul muss auch dieses sofort eine Bestätigung schicken.

Deshalb kann Fhem auch einfach ein Eingangsmodul simulieren. Das Fhem-Modul schickt dazu einfach eine entsprechende Nachricht auf den Bus und das PHC-Steuermodul bestätigt diese. Wenn Fhem jedoch ein Ausgangsmodul simulieren soll, dann müsste Fhem auf einen Befehl des PHC-Steurmoduls schnell eine Bestätigung schicken. Das dauert mit Fhem jedoch zu lange.

Es ist auch nicht möglich, parallel zum PHC-Steuermodul direkt mit Ausgangsmodulen zu reden. Soweit ich das Protokoll bis jetzt verstanden habe,  wird so eine Nachricht zwar vom Ausgangsmodul  verstanden und ausgeführt, aber leider sind die Nachrichten auf dem Bus zustandsabhängig und nicht eindeutig.

Ein und dieselbe Nachricht könnte von einem Ausgangsmodul an das Steuermodul gesendet werden oder vom Steuermodul an das Ausgangsmodul. Beide Nachrichten haben unterscheidliche Bedeutungen. Da normalerweise nur ein PHC-Steuermodul Nachrichten an die Ausgangsmodule sendet, ist das kein Problem. Wenn aber nun Fhem auch mit den Ausgangsmodulen redet, dann versteht das Ausgangsmodul die Nachricht auf eine Art und das Steuermodul die gleiche Nachricht auf eine andere. Beide bestätigen dann die Nachricht quasi gleichzeitig.
Das Steuermodul hat durch seine Programmierung auch eine Liste der vorhandenen Modul mit ihren Adressen und dem Typ des Moduls. Leider gibt es im PHC-Protokoll auch Nachrichten, die identisch aussehen, aber z.B. für ein Rolladenmodul eine andere Bedeutung haben als für ein Ausgangsmodul. Damit Fhem damit kein Problem bekommt, hat das Fhem-Modul einen Lernmodus, der aus den Nachrichten, die eindeutig einem Modultyp zugeordnet werden können, den Typ des Moduls erkennt und in einem Attribut abspeichert. Beim Import der Kanalliste werden aber diese Typen ebenfalls in Attributen gespeichert.

Das Modul ist sicher noch nicht fehlerfrei und könnte noch an einigen Stellen erweitert werden. Wer es ausprobiert und sein Fhem an den PHC-Bus anklemmt, muss dies auf eigene Gefahr tun. Im schlimmsten Fall könnte das PHC-System beschädigt werden und wer sein ganzes Haus damit steuert, hätte dann ein Problem.
Vielleicht kann es aber dennoch auch so schon jemand brauchen ;-)

Definition mit:

define MyPHC PHC /dev/ttyRS485


wenn das Attribut verbose für MyPHC auf 4 oder 5 gesetzt wird, sollte man im Log nun die Nachrichten auf dem Bus sehen.
Zudem sollten Readings erscheinen.

Gruss
   Stefan

EDIT: angehängtes Modul entfernt (neue Version in späterem Post)
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 07 Mai 2017, 20:55:30
Hallo Stefan,

das hört sich sehr interessant an.
Ich werde mir mal einen Adapter besorgen.

Gruß Henrik


Gesendet von iPhone mit Tapatalk
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 23 Mai 2017, 20:02:10
Hallo Stefan,

nun ist der Adapter angekommen.
Wenn ich das Modul installiere bekomme ich einen disconnected.
Wie importiere ich die Systemmtree.xml oder besser gefragt wo hast Du deine abgelegt.

Was bewirkt genau das attr MyPHC channel(EMD|AMD|JRM|DIM|UIM|MCC|MFM)[0-9]+[io]?[0-9]+description, sowie attribute module[0-9]+description, attribute module[0-9]+type und attribute virtEMD[0-9]+C[0-9]+Name.
Oder bessergefragt was muss man dort angeben.


Gruß Henrik
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 23 Mai 2017, 21:22:47
Hallo Henrik,

nach dem define mit dem richtigen USB-Device solltest Du kein disconnected sondern opened als Status bekommen. Dabei ist es sogar egal ob die Verbindung zum Modul-Bus steht oder nicht. Fhem DevIO setzt openend sobald die serielle Schnittstelle "geöffnet" wurde.

Die exportierte Kanalliste habe ich im Fhem-Wurzelverzeichnis (bei mir /opt/fhem) abgelegt. Dann kann man beim Import einfach den Dateinamen ohne weiteren Pfad angeben. Der Import erzeugt dann die von Dir angefragten Attribute zum festlegen des Typs und der Bezeichnungen der Module und Kanäle. Der Inport kann je nach Größe der XML-Datei einige Sekunden dauern. In der Zeit blockiert auch Fhem, aber da man das ja nicht täglich macht, habe ich es noch nicht optimiert.

Die Bezeichnungen werden später beim Logging und für die Readings verwendet.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 05 Juni 2017, 09:33:07
Hallo Henrik,

Vielen Dank für's Testen und Dein Feedback per PM.
Bestehende virtuelle Eingangsmodule erzeugen keine Nachrichten auf dem Bus. Deshalb sieht das Fhem-Modul nichts davon.
Um einen Dimmer von Fhem aus anzusteuern würde ich ein weiters virtuelles Eingangssmodul in der PHC Systemsoftware definieren, dann ebenfalls in der PHC-Software einen Eingangakanal davon in der Basisprogrammierung oder Fuktionsprogrammierung verwenden.
In Fhem würde ich dann den virtuellen Kanal per Attribut definieren:
Z.B.:

attr MyPHC virtEMD25C2Name FhemTasterFuerDimmer

Für ein virtuelles EMD mit Adresse 25 und einem Kanal 2 als Taster für den Dimmer.

Dann kannst Du mit

set MyPHC FhemTasterFuerDimmer ein>0


Die Nachricht für einen Taster, der kurz angetippt wurde von Fhem an das PHC-Steuermodul schicken.
Dort müsste Dann Dein PHC-Programm eine Verbindung enthalten:
Wenn EMD 25 Kanal 2 ein>0 heller dimmen
Oder ähnlich.

Leider kann man nicht mit Ausgängen kommunizieren. Das sollte immer das PHC-Steuermodul tun.

Gruß
    Stefan

Gruß
     Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 22 Juni 2017, 20:40:36
Anbei eine neue Version, bei der ein Fehler im Zusammenhang mit virtuellen EMDs behoben ist.

Gruss
   Stefan

EDIT: angehängtes Modul entfernt, aktuelle Version ist eingecheckt.
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 23 Juni 2017, 15:20:04
Hallo Stefan,

ich bin zurzeit leider viel unterwegs und kann nur wenig testen.
Ich werde die neue Version mal einspielen.

Vielen Dank für das Modul.

Gruß Henrik
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: draa am 03 Oktober 2017, 15:12:11
Hallo,
ich mache gerade mit FHEM meine ersten Schritte mit dem Ziel die Phillips Hue und meine PHC-Haussteuerung zu verbinden. Ich habe die PHC-Steuereinheit ohne LAN-Modul und will aktuell auch nicht umsteigen.

Insofern habe ich  das PHC-Modul ausprobiert und bin davon begeistert. Aktuell läuft bereits der erste PHC-Schalter und ich schalte damit die HUE-Lampen. In den nächsten Schritten werde ich die Steuerung verfeinern

Viele Grüße
Dieter
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 04 September 2018, 19:04:23
Hallo,

ich habe nochmals ein paar kleinere Bugs behoben und eine neue Version eingcheckt, so dass sie per update verteilt wird.
Neu ist z.B. dass alle Kommandos vom PHC-Bus auch in Fhem als Events erzeugt werden. Damit kann man mit Notify etc. auf Tastendrücke im PHC-System reagieren.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 05 September 2018, 21:19:14
Hallo Stefan,

vielen Dank für das Modul.

Dann werde ich am Wochenende mal testen.

Gruß Henrik.
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 30 März 2020, 18:00:50
Hallo Stefan,

ich habe nun mal etwas Zeit gehabt und mich mit dem PHC Modul etwas beschäftigt.
Mir ist aufgefallen das die EMD Module nicht in den Readings stehen.
Hast Du schon einen weg gefunden die Dimmer zu bedienen, bzw. eine Rückmeldung aus den Events herauszufiltern.

Beste Grüße Henrik.
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 31 März 2020, 20:32:50
Hallo Henrik,

für die EMDs setzt das Modul bisher keine Readings, es erzeugt aber Events für alle Befehle, auch die von EMDs, so dass man darauf reagieren kann.
Den letzten Befehl eines EMDs in ein Reading je Kanal zu packen wären vermutlich weniger als fünf Zeilen Perl, falls es mal jemand braucht.

Wenn ich von Fhem aus etwas über den PHC-Bus steuern möchte, dann mache ich das über ein virtuelles EMD, bei dem Fhem die EMD-Befehle sendet und die PHC-Steuerung dann die AMDs oder Dimmer ansteuert. Das erscheint mir die sauberste Lösung, bei der Fhem nicht in Konflikte mit der Steuerung gerät.

Was meinst Du mit Rückmeldung in diesem Kontext?

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 31 März 2020, 21:44:54
Hallo Stefan,

mit der Rückmeldung meinte ich wie der Dimmer zustand ist, also nicht nur an oder aus sondern auf welcher Dimm Stufe er sich befindet.
Auch für das hoch- oder runterdimmen fehlt mir im Moment noch der Ansatz.

Grüße Henrik.
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 12 April 2020, 18:44:13
Hallo Henrik,

ich habe mich seit dem Herbst 2018 nicht weiter mit dem PHC-Protokoll beschäftigt. Ob die Dimmer-Module überhaupt den aktuellen Stand senden, kann ich nicht sagen.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 13 April 2020, 19:01:03
Hallo Stefan,

könntest Du vielleicht die Readings der Eingangmodule noch mit einbauen, wie Du es beschreibst ist es nicht der größte Aufwand.
Die Dimmer erzeugen ja ein Event, mal schauen ob ich daraus schlau werde.

Liebe Grüße Henrik

Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 15 April 2020, 19:34:24
Hallo Henrik,

bei einem AMD hat man ja einen sinnvollen Zustand je Kanal (ein/aus).
bei einem EMD dagegen kommen einfach nur Messages wie ein>0, ein>1, aus>0 ...
Was soll denn in einem Reading je EMD-Kanal drinstehen?
die letzte Funktion, so wie auch schon ein Event erzeugt wird?
Was wäre der Mehrwert?
Du könntest übrigens auch so schon per Fhem Notify Readings nach Deinem Geschmack erzeugen ...

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 16 April 2020, 15:22:10
Hallo,

anbei eine neue Version zum Testen.
Es gibt ein neues Attribut "EMDReadings".
Wenn dieses auf 1 gesetzt wird, erzeugt das Modul Readings je Eingangskanal mit dem letzten Befehl des Kanals.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 26 April 2020, 00:09:08
Hallo Stefan,

vielen Dank.

Ich hab bei mir im Haus (letztes Jahr so gekauft) leider auch das PHC System (STM v2 mit etlichen AMDs, EMDs, JRMs, DIMs and whatnot)

Ich bin ziemlich neu in Sachen Smarthome und kompletter Neuling in Sachen FHEM (ca. 1 Monat)

Ich habe dein Modul lauffähig und es funktioniert soweit auch, habe allerdings erst einen Lichtschalter getestet/konfiguriert :)
Bin sehr erleichtert darüber dass es sowas für FHEM gibt, ich dachte schon ich müsste hier im Haus alles austauschen.

Ich habe jedoch ein paar Fragen zu deinem Modul.

- Wieso muss/sollte man die virtuellen Kanäle (z.B. virtEMD10C01Name) komplett in der Peha Software neu erstellen und quasi die ganze Programmierung doppeln?
  Ich habe mir dein Intro zum Modul im ersten Post x-mal durchgelesen aber blicke nicht wieso, außer das es Probleme gibt (aber welche? :)
  Ich habe das testweise mal mit einem vorhandenen EMD gemacht, klappt ebenso ohne Probleme.
  Ich frage weil ich eigentlich keine Lust habe die ganze Programmierung quasi doppelt machen zu müssen bzw. doppelt zu haben.

- Irgendwie können die Dimmer Beschreibungen nicht richtig in die Readings umgesetzt werden
  Nicht so schön wie die anderen, dort stehen die Namen wie sie auch in der PHC Software sind.
  Anbei mal ein Bild mit roter Markierung, dann siehst Du was ich meine.

- Uhren und Merker unterstützt dein Modul nicht oder?


Vielen Dank für Deine Arbeit!

--
ciao, Marc
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 26 April 2020, 16:53:04
Hallo Marc,

Das mit den virtuellen EMDs ist sauberer als wenn Fhem an Stelle eines vorhandenen EMDs eine Meldung an das Steuermodul macht und das Steuermodul dann eine Bestätigung über den Bus zurücksendet, mit der das EMD dann nichts anfangen kann. Aber es funktioniert so auch, zumindest wenn Fhem den "Toggle"-Status des EMDs schon mal auf dem Bus gesehen hat. Falls nicht kann es sein, dass Fhem beim ersten Mal den falschen Status verwendet und dann muss man die Nachricht eben noch mal senden.
Ich hatte im Wiki des PHC-Forums mal eine Doku des PHC-Protokolls soweit ich es verstanden habe abgelegt. Aber das Wiki wurde leider abgeschaltet. Zumindest ein PDF davon habe ich aber noch. Ich hänge es mal an.

Das mit der Beschreibung der Dimmer sieht nach einem Bug aus. Offenbar interpretiere ich hier die Nachricht vom Dimmer an das STM noch falsch. Das war mir noch gar nicht aufgefallen. Vermutlich hat Henrik das auch gemeint ...
Ich schau mir das noch mal genauer an.

Uhren und Merker existieren im Steuermodul. Wenn Du eine neuere Steuerung mit Ethernet-Anschluss hast, kann man da vermutlich über eine Art Webservice ran. Mein Modul hängt ja im Bus. Allerdings kann man zumindest die Uhren vermutlich über den Bus auch darstellen und ändern. Nur müsste sich dafür jemand nochmal ausführlicher mit dem Protokoll beschäftigen. Ich nehm's mal auf die Wunschliste ;-)

Gruß
    Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 01 Mai 2020, 18:51:58
Hallo Stefan,

ich versuche gerade die Module und Ein – Ausgänge richtig zu benennen, (attr MyPHC channel(EMD|AMD|JRM|DIM|UIM|MCC|MFM)[0-9]+[io]?[0-9]+description) leider bekomme ich es nicht hin. Kannst Du mir ein Beispiel geben was ich beim Attribut eintragen muss.

Ich bekomme immer folgende Fehlermeldung.

MyPHC: bad attribute name 'channel(EMD|AMD|JRM|DIM|UIM|MCC|MFM)[0-9]+[io]?[0-9]+description' (allowed chars: A-Za-z/\d_\.-)


Das Reading für den Eingang funktioniert bestens.

Vielen Dank für die Erweiterung.

Gruß Henrik
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 01 Mai 2020, 23:37:36
Hallo Henrik,

Beispiel:

attr PHC channelEMD05i14description WC OG - Taster
attr PHC channelAMD04o00description Garage - Deckenlampe


die Angabe in der Doku ist als Regex zu lesen.

Gruß
    Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 03 Mai 2020, 18:35:10
Hallo Stefan,

Zitat von: StefanStrobel am 26 April 2020, 16:53:04
Ich hatte im Wiki des PHC-Forums mal eine Doku des PHC-Protokolls soweit ich es verstanden habe abgelegt. Aber das Wiki wurde leider abgeschaltet. Zumindest ein PDF davon habe ich aber noch. Ich hänge es mal an.
danke für das PDF, hat aber irgendwie 0 Byte?! :)

Zitat von: StefanStrobel am 26 April 2020, 16:53:04
Das mit der Beschreibung der Dimmer sieht nach einem Bug aus. Offenbar interpretiere ich hier die Nachricht vom Dimmer an das STM noch falsch. Das war mir noch gar nicht aufgefallen. Vermutlich hat Henrik das auch gemeint ...
Ich schau mir das noch mal genauer an.
danke!

Zitat von: StefanStrobel am 26 April 2020, 16:53:04
Uhren und Merker existieren im Steuermodul. Wenn Du eine neuere Steuerung mit Ethernet-Anschluss hast, kann man da vermutlich über eine Art Webservice ran. Mein Modul hängt ja im Bus. Allerdings kann man zumindest die Uhren vermutlich über den Bus auch darstellen und ändern. Nur müsste sich dafür jemand nochmal ausführlicher mit dem Protokoll beschäftigen. Ich nehm's mal auf die Wunschliste ;-)
ich hab' leider noch ein STM v2. Ein v3 ist ja doch ziemlich teuer wie ich finde, selbst gebraucht muss man noch 400-500 Euro hinblättern, das finde ich irgendwie zu viel. Wobei ich ja eigentlich auch ein Ersatz Modul brauche, denn wenn das STM mal kaputt geht ... ;-/
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 03 Mai 2020, 21:44:46
Hallo,

Ich habe den Dateianhang oben korrigiert.

Gruß
    Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 06 Mai 2020, 15:59:20
Hallo Stefan,

vielen Dank.

Wie hast Du eigentlich Deine PHC Installation in FHEM eingebunden?

Ich hab' das jetzt so laufen (erstmal ein EMD welches Licht schaltet):


Internals:
   DEF        Peha_PHC:Keller_Buero_Deckenlampe_vorne
   DEVICE     Peha_PHC
   FUUID      5eadaf61-f33f-b956-01b6-41f4d1383810fad2
   NAME       PHC_BL_Keller_Buero_Deckenlampe_vorne
   NOTIFYDEV  Peha_PHC,global
   NR         97
   NTFY_ORDER 50-PHC_BL_Keller_Buero_Deckenlampe_vorne
   READING    Keller_Buero_Deckenlampe_vorne
   STATE      off
   TYPE       readingsProxy
   CONTENT:
     Peha_PHC   1
   READINGS:
     2020-05-06 15:47:44   lastCmd         off
     2020-05-06 15:47:44   state           off
Attributes:
   genericDeviceType light
   room       23_Homekit,PEHA_Labor
   setFn      {
        # $NAME gibt's hier sonst leider nicht
my ($hash) = @_;
my $NAME = $hash->{NAME};

my $peha_switch = "PHC_SW_Keller_Buero_Deckenlampe_vorne";

my $STATE = ReadingsVal($NAME,'state','0');

Log (3, "<DEBUG> Peha_PHC DEVICE:  " . $DEVICE);
Log (3, "<DEBUG> Peha_PHC READING: " . $READING);
Log (3, "<DEBUG> Peha_PHC NAME:    " . $NAME);
Log (3, "<DEBUG> Peha_PHC STATE:   " . $STATE);
Log (3, "<DEBUG> Peha_PHC CMD:     " . $CMD);

if ( ("$CMD" eq "off") && ("$STATE" eq "off") ) {
Log (3, "<DEBUG> Peha_PHC: aus bleibt aus");

} elsif ( ("$CMD" eq "on") && ("$STATE" eq "on") ) {
Log (3, "<DEBUG> Peha_PHC: an bleibt an");

} elsif ("$CMD" eq "on") {
fhem("set Peha_PHC $peha_switch ein>0");
}
else {
fhem("set Peha_PHC $peha_switch aus<1");
}
   }
   setList    on off
   siriName   PHC_BL_Keller_Buero_Deckenlampe_vorne
   valueFn    {($VALUE == 0)?"off":"on"}
   webCmd     on:off


also ein ReadingsProxy.

Das funktioniert im Prinzip wunderbar, sowohl via FHEM als auch via den FHEM Apps als auch Homebridge usw.

Nur bin ich damit irgendwie noch nicht glücklich, vor allem wegen dem setFn Code, den ich ja für jedes einzelne EMD manuell eintragen muss (ok kann man scripten) aber trotzdem :)

Wie hast Du das gemacht bzw. hast Du eine andere/bessere Idee?

Vielen Dank!
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 06 Mai 2020, 19:02:33
Hallo,

ich habe virtuelle EMDs definiert. Das Modul erzeugt dazu dann automatisch eine Set-Option für ein>0 etc.
Probiers doch mal aus.
Ich könnte aber auch für existierende EMDs eine komfortablere Set-Funktion ins Modul bauen.
Nur bisher hat das keine benötigt ;-)

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 06 Mai 2020, 20:02:52
Ok ich teste das mal.

Ja wenn du das einbauen könntest, was einem Sachen vereinfacht, wäre ich sofort dafür :)

Ein Freund von mir hat mich überzeugt das doch nicht mit den existierenden EMDs zu machen. Ich hab im Peha Setup viel mit Ausschaltverzögerung usw. via Funktionsprogrammierung und das normale schalten via Basis, was sich zusammen mit FHEM beißt. Und da ich das existierende Setup im Peha nicht wegoptimieren will für den Fall der Fälle ... Insofern würde ich wohl auch virtuelle EMDs anlegen müssen (Christoph: ;-))
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 10 Mai 2020, 08:49:25
Hallo Stefan,

mir ist ja aufgefallen dass das mit der Dimmer Beschreibung nicht richtig passt, du sagtest dass das wohl ein Bug ist.

Ich habe weiterhin gesehen dass das wohl auch auf fast alle anderen Module zutrifft.

Wieso gibt's da Readings, z.B.: DIM??-o?? und mal DIM??o??, also mal mit und mal ohne Bindestrich? Das gleiche bei den AMDs.

Und mit Bindestrich bei den EMDs usw. ...

Ich wollte dann mal testweise die channel description ändern aber man darf keine Bindestriche benutzen ...

Die Dimmer Module haben Kanal 0 und 1 und jeweils ein Rückmeldungskanal dazu. Im FHEM Modul sehe ich allerdings immer 00 bis 07? wobei 07 immer den Status 1 hat?

So ganz blicke ich Dein Modul noch nicht :-)

Dann noch eine Frage: hast Du eine Idee wie ich mit dem FHEM Peha PHC Modul feststellen kann ob eine Rolllade auf oder zu ist? Das Reading der Rolllade ist leider immer 0.
In der Peha Software habe ich es mit einem Krückenbehelf gemacht, mit einem Merker, der einfach davon ausgeht dass man die Rollladen immer komplett auf oder zu fährt und je nach Status dann ein Merker gesetzt wird ... Aber Merker gibt's in dem FHEM Modul ja nicht insofern ...
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 24 Mai 2020, 16:28:41
Hallo Stefan,

hattest Du evtl. schon Zeit wegen den Bugs zu schauen?
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 24 Mai 2020, 21:03:06
Hallo mcp,

ich bin leider noch nicht dazu gekommen, mich wieder mit dem PHC-Modul zu beschäftigen.
Ich habe in den letzten Monaten an einer neuen Version des ArduCounters gearbeitet. Die ist jetzt langsam fertig und dann komme ich auch wieder zu PHC.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 27 Mai 2020, 17:45:40
Hallo Stefan,

uih, nicht schlecht. Cool was du so alles programmieren kannst :-)

Leider hab ich noch ein Bug gefunden, wobei ich mir nicht sicher bin ob es dein Modul ist oder die Peha selbst.

Ich habe ein Notify auf eine Rolllade damit ich mitbekomme wann und was sich da tut. Das klappt soweit auch gut nur wenn der Sonnensensor die Rollladen für 10 Sekunden runter fährt feuert das Notify 3x hintereinander zur gleichen Sekunde, ist zwar unschön aber das ist nicht das Haupt-Problem, das Problem ist dass "Sensor senken" offensichtlich für 1 Minute gesendet wird?! Erst danach kommt "FB_Senken_Aus".

FHEM denkt dann natürlich dass die Rolllade dann definitiv zu ist, bei einer normalen Laufzeit von 26 Sekunden von auf nach zu, wobei sie tatsächlich bei der Hälfte vom Fenster steht.

Das Gleiche passiert übrigens auch wenn der Sensor die Rollladen wieder hochfahren lässt.
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 28 Mai 2020, 17:41:56
Hallo mcp,

setze doch mal verbose für Dein PHC-Grät auf 5 und poste einen Auszug aus dem Log.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 04 Juni 2020, 18:56:22
Hallo Stefan,

wenn ich die Kanalliste importieren möchte, bekomme ich folgende Fehlermeldung im Log.



2020.06.04 18:50:14 3: MyPHC: unknown attribute channelunknownunknowno01description. Type 'attr MyPHC ?' for a detailed list.
2020.06.04 18:50:14 3: MyPHC: unknown attribute channelunknownunknowno00description. Type 'attr MyPHC ?' for a detailed list.
2020.06.04 18:50:14 3: MyPHC: unknown attribute channelunknownunknowno01description. Type 'attr MyPHC ?' for a detailed list.

usw...
.




Ich habe mich schon immer gewundert warum meine Eingangsmodule nie komplett waren.

Grüße Henrik
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 04 Juni 2020, 19:03:36
Anbei noch einmal die letzte Kanalliste.

Grüße Henrik
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 04 Juni 2020, 23:48:53
Hallo Stefan,

Zitat von: StefanStrobel am 28 Mai 2020, 17:41:56
setze doch mal verbose für Dein PHC-Grät auf 5 und poste einen Auszug aus dem Log.

das ist ziemlich viel und umfangreich :) - Soll ich dir das hier posten oder lieber per PM bzw. E-Mail?

Irgendwie hab' ich noch mehr Probleme bzw. Unstimmigkeiten gefunden.

Es würde mich freuen wenn Du dich melden würdest, wenn Du wieder Zeit hast, damit wir die Probleme beseitigen können :)
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 05 Juni 2020, 16:34:19
Hallo Henrik,

Deine Kanalliste hat ein geringfügig anderes Format als die, für die ich damals den Import entwickelt hatte.
Das war noch mit der älteren PHC-Systemsoftware.
Es sollte aber nicht schwer sein, das anzupassen. Ich kümmere mich in den nächsten Tagen darum.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 05 Juni 2020, 16:35:12
Hallo mcp,

Du kannst das hier posten oder mir als PM schicken - wie Du möchtest.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 06 Juni 2020, 12:30:28
Hallo Henrik,

anbei eine neue Version, die auch mit Deiner Kanalliste klarkommen sollte.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 06 Juni 2020, 19:36:25
und noch ein Update:
jetzt sollten die Daten aus dem Ack der Dimmer besser interpretiert werden.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 06 Juni 2020, 20:22:00
Hallo Stefan,

vielen Dank für das schnelle Update.
Nun sind die Readings und Attributes beim Einspielen der Kanalliste richtig benannt.

Das mit dem Dimmer werde ich mal verfolgen.

Grüße Henrik
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 06 Juni 2020, 20:45:40
Hi Stefan,

schön dass du wieder was am Modul machst :)


Der Fix für die Dimmer funktioniert, jetzt sieht das gut aus. Danke.


Ich habe noch einen Bug gefunden:
wenn man irgendeinem EMD ein Signal schickt taucht das im Event Monitor warum auch immer 2x auf.
Wenn man dann ein Notify drauf hat feuert das immer 2x ... (bekomme ich derzeit nur weg wenn ich attr bla disabledAfterTrigger 0.1 setze)
Gleiches passiert auch wenn das Modul ein Signal vom Bus mitbekommt, zb. vom Sonnensensor.

Hier z.B. ebenso 2x Notify, wenn man den Zentral-Taster drückt:

2020.06.09 23:32:30 3: PEHA_PHC: DoEMD called for module 03, channel 10, function ein>1
2020.06.09 23:32:30 5: PEHA_PHC: found function 4
2020.06.09 23:32:30 3: PEHA_PHC: toggle for module 03 was set and will now be cleared
2020.06.09 23:32:30 3: PEHA_PHC: sends 0301a45ed3
2020.06.09 23:32:30 5: SW: 0301a45ed3
2020.06.09 23:32:30 5: PEHA_PHC: Parseframes: loop with raw buffer: 0301a45ed303010070304686314f000004012f3b46820000a7184786714f0a
2020.06.09 23:32:30 5: PEHA_PHC: Parseframes: Adr 3/x03 Len 1 T0 Data a4 (Frame 0301a4 5ed3) Rest 03010070304686314f000004012f3b46820000a7184786714f0a
2020.06.09 23:32:30 5: PEHA_PHC: Parseframes: 0301a4 5ed3 is not an Ack frame, wait for ack to follow
2020.06.09 23:32:30 5: PEHA_PHC: Parseframes: loop with raw buffer: 03010070304686314f000004012f3b46820000a7184786714f0a
2020.06.09 23:32:30 5: PEHA_PHC: Parseframes: Adr 3/x03 Len 1 T0 Data 00 (Frame 030100 7030) Rest 4686314f000004012f3b46820000a7184786714f0a
2020.06.09 23:32:30 5: PEHA_PHC: Parseframes: Ack received
2020.06.09 23:32:30 5: PEHA_PHC: ParseCode called, fAdr 003, typeArr = EMD, code xA4
2020.06.09 23:32:30 5: PEHA_PHC: SplitCode splits code 164 for type EMD into  channel 10 / function 4
2020.06.09 23:32:30 5: PEHA_PHC: ParseCode checks typelist EMD against F=x04 C=x0ALen=1, ackLen=1
2020.06.09 23:32:30 5: PEHA_PHC: ParseCode match EMD04+01 / Ein > 1 i
2020.06.09 23:32:31 4: PEHA_PHC: ParseCommands EMD03i10 F4 Ein > 1 data xA4 ack x00 tg 0 EG_Betonwand_Rollladen_Esszimmer_Kueche_zentral_runter
2020.06.09 23:32:31 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade loglevel:                   3
2020.06.09 23:32:31 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade pehaRollerShutter:          PHC_RL_EG_Kueche_Rolllade
2020.06.09 23:32:31 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENT:                      EMD03i10: Ein > 1
2020.06.09 23:32:31 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENTCMD:                   Ein > 1
2020.06.09 23:32:31 5: PEHA_PHC: ParseCommand sets reading EMD03i10 to Ein > 1
2020.06.09 23:32:31 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade loglevel:                   3
2020.06.09 23:32:31 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade pehaRollerShutter:          PHC_RL_EG_Kueche_Rolllade
2020.06.09 23:32:31 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENT:                      EMD03i10: Ein > 1
2020.06.09 23:32:31 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENTCMD:                   Ein > 1
2020.06.09 23:32:31 5: PEHA_PHC: Parseframes: loop with raw buffer: 4686314f000004012f3b46820000a7184786714f0a
2020.06.09 23:32:31 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 6 T1 Data 314f00000401 (Frame 4686314f00000401 2f3b) Rest 46820000a7184786714f0a
2020.06.09 23:32:31 5: PEHA_PHC: Parseframes: 4686314f00000401 2f3b is not an Ack frame, wait for ack to follow
2020.06.09 23:32:31 5: PEHA_PHC: Parseframes: loop with raw buffer: 46820000a7184786714f0a
2020.06.09 23:32:31 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 2 T1 Data 0000 (Frame 46820000 a718) Rest 4786714f0a
2020.06.09 23:32:31 5: PEHA_PHC: Parseframes: Ack received


sorry, vorhin den Event Monitor Auszug vergessen:

2020-06-10 00:35:23 PHC PEHA_PHC PHC_SW_EG_Betonwand_Rollladen_Esszimmer_und_Kueche_zentral_runter ein>1
2020-06-10 00:35:23 PHC PEHA_PHC LastCommand: EMD03i10 F4 Ein > 1 data xA4 ack x00 tg 0 EG_Betonwand_Rollladen_Esszimmer_Kueche_zentral_runter
2020-06-10 00:35:23 PHC PEHA_PHC EMD03i10: Ein > 1
2020-06-10 00:35:23 PHC PEHA_PHC EMD03i10: Ein > 1
2020-06-10 00:35:23 PHC PEHA_PHC LastCommand: JRM06o01 F17 Sensor senken P111100 (Set) Time1 0 Time2 260 data x31,x4F,x00,x00,x04,x01 ack x00,x00 tg 0 EG_Esszimmer_Rolllade_links
2020-06-10 00:35:23 PHC PEHA_PHC JRM06o01: Sensor senken
2020-06-10 00:35:23 PHC PEHA_PHC JRM06o01: Sensor senken
2020-06-10 00:35:23 PHC PEHA_PHC LastCommand: JRM07o03 F17 Sensor senken P111100 (Set) Time1 10 Time2 280 data x71,x4F,x0A,x00,x18,x01 ack x00,x00 tg 1 EG_Kueche_Rolllade
2020-06-10 00:35:23 PHC PEHA_PHC JRM07o03: Sensor senken
2020-06-10 00:35:23 PHC PEHA_PHC JRM07o03: Sensor senken
2020-06-10 00:35:23 PHC PEHA_PHC LastCommand: JRM07o01 F17 Sensor senken P111100 (Set) Time1 20 Time2 260 data x31,x4F,x14,x00,x04,x01 ack x00,x00 tg 0 EG_Esszimmer_Rolllade_mitte
2020-06-10 00:35:23 PHC PEHA_PHC JRM07o01: Sensor senken
2020-06-10 00:35:23 PHC PEHA_PHC JRM07o01: Sensor senken



hier noch ein Beispiel von heute morgen als der Dämmerungssensor ausgeschaltet hat, es taucht auch alles 2x auf und somit 2x Notify-Fire (alles mit <DEBUG> PEHA_PHC ist von mir)

2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 060105605e060100cd094401039888440200003d2d44812356
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 6/x06 Len 1 T0 Data 05 (Frame 060105 605e) Rest 060100cd094401039888440200003d2d44812356
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: 060105 605e is not an Ack frame, wait for ack to follow
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 060100cd094401039888440200003d2d44812356
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 6/x06 Len 1 T0 Data 00 (Frame 060100 cd09) Rest 4401039888440200003d2d44812356
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode called, fAdr 006, typeArr = EMD, code x05
2020.06.10 05:12:22 5: PEHA_PHC: SplitCode splits code 05 for type EMD into  channel 0 / function 5
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode checks typelist EMD against F=x05 C=x00Len=1, ackLen=1
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode match EMD05+01 / Aus > 1 i
2020.06.10 05:12:22 4: PEHA_PHC: ParseCommands EMD06i00 F5 Aus > 1 data x05 ack x00 tg 0 EG_Hauswand_Daemmerungssensor_aussen
2020.06.10 05:12:22 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade loglevel:                   3
2020.06.10 05:12:22 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade pehaRollerShutter:          PHC_RL_EG_Kueche_Rolllade
2020.06.10 05:12:22 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENT:                      EMD06i00: Aus > 1
2020.06.10 05:12:22 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENTCMD:                   Aus > 1
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EMD06i00 to Aus > 1
2020.06.10 05:12:22 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade loglevel:                   3
2020.06.10 05:12:22 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade pehaRollerShutter:          PHC_RL_EG_Kueche_Rolllade
2020.06.10 05:12:22 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENT:                      EMD06i00: Aus > 1
2020.06.10 05:12:22 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENTCMD:                   Aus > 1
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 4401039888440200003d2d44812356
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 68/x44 Len 1 T0 Data 03 (Frame 440103 9888) Rest 440200003d2d44812356
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: 440103 9888 is not an Ack frame, wait for ack to follow
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 440200003d2d44812356
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 68/x44 Len 2 T0 Data 0000 (Frame 44020000 3d2d) Rest 44812356
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode called, fAdr 068, typeArr = AMD, code x03
2020.06.10 05:12:22 5: PEHA_PHC: SplitCode splits code 03 for type AMD into  channel 0 / function 3
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode checks typelist AMD against F=x03 C=x00Len=1, ackLen=2
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode match AMD030102 / Aus cba
2020.06.10 05:12:22 4: PEHA_PHC: ParseCommands AMD04o00 F3 Aus data x03 ack x00,x00 tg 0 EG_Esszimmer_linke_Schiebetuer_Licht_aussen
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading AMD04o00 to Aus
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand channel map = 00000000
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Kueche_Spuele_Steckdosen_fuer_Schrankbeleuchtung for channel 7 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Garderobe_Fenster_Steckdose for channel 6 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Kueche_Fenster_Steckdosen for channel 5 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Wohnzimmer_Fenster_Steckdosen for channel 4 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading _EG_HWR_Steckdose_ueber_Schrank for channel 3 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Flur_Haustuer_Lampen_2x_aussen for channel 2 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Esszimmer_rechte_Schiebetuer_Kueche_Licht_aussen for channel 1 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Esszimmer_linke_Schiebetuer_Licht_aussen for channel 0 to 0
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 44812356
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: len is 1 so frame shoud be 5 but only 4 read. wait for more
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 448123562544820000d1214401439cca440200003d2d49812329da498200005eaa460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 68/x44 Len 1 T1 Data 23 (Frame 448123 5625) Rest 44820000d1214401439cca440200003d2d49812329da498200005eaa460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: 448123 5625 is not an Ack frame, wait for ack to follow
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 44820000d1214401439cca440200003d2d49812329da498200005eaa460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 68/x44 Len 2 T1 Data 0000 (Frame 44820000 d121) Rest 4401439cca440200003d2d49812329da498200005eaa460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode called, fAdr 068, typeArr = AMD, code x23
2020.06.10 05:12:22 5: PEHA_PHC: SplitCode splits code 35 for type AMD into  channel 1 / function 3
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode checks typelist AMD against F=x03 C=x01Len=1, ackLen=2
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode match AMD030102 / Aus cba
2020.06.10 05:12:22 4: PEHA_PHC: ParseCommands AMD04o01 F3 Aus data x23 ack x00,x00 tg 1 EG_Esszimmer_rechte_Schiebetuer_Kueche_Licht_aussen
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading AMD04o01 to Aus
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand channel map = 00000000
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Kueche_Spuele_Steckdosen_fuer_Schrankbeleuchtung for channel 7 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Garderobe_Fenster_Steckdose for channel 6 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Kueche_Fenster_Steckdosen for channel 5 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Wohnzimmer_Fenster_Steckdosen for channel 4 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading _EG_HWR_Steckdose_ueber_Schrank for channel 3 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Flur_Haustuer_Lampen_2x_aussen for channel 2 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Esszimmer_rechte_Schiebetuer_Kueche_Licht_aussen for channel 1 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Esszimmer_linke_Schiebetuer_Licht_aussen for channel 0 to 0
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 4401439cca440200003d2d49812329da498200005eaa460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 68/x44 Len 1 T0 Data 43 (Frame 440143 9cca) Rest 440200003d2d49812329da498200005eaa460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: 440143 9cca is not an Ack frame, wait for ack to follow
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 440200003d2d49812329da498200005eaa460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 68/x44 Len 2 T0 Data 0000 (Frame 44020000 3d2d) Rest 49812329da498200005eaa460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode called, fAdr 068, typeArr = AMD, code x43
2020.06.10 05:12:22 5: PEHA_PHC: SplitCode splits code 67 for type AMD into  channel 2 / function 3
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode checks typelist AMD against F=x03 C=x02Len=1, ackLen=2
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode match AMD030102 / Aus cba
2020.06.10 05:12:22 4: PEHA_PHC: ParseCommands AMD04o02 F3 Aus data x43 ack x00,x00 tg 0 EG_Flur_Haustuer_Lampen_2x_aussen
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading AMD04o02 to Aus
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand channel map = 00000000
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Kueche_Spuele_Steckdosen_fuer_Schrankbeleuchtung for channel 7 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Garderobe_Fenster_Steckdose for channel 6 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Kueche_Fenster_Steckdosen for channel 5 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Wohnzimmer_Fenster_Steckdosen for channel 4 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading _EG_HWR_Steckdose_ueber_Schrank for channel 3 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Flur_Haustuer_Lampen_2x_aussen for channel 2 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Esszimmer_rechte_Schiebetuer_Kueche_Licht_aussen for channel 1 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Esszimmer_linke_Schiebetuer_Licht_aussen for channel 0 to 0
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 49812329da498200005eaa460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 73/x49 Len 1 T1 Data 23 (Frame 498123 29da) Rest 498200005eaa460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: 498123 29da is not an Ack frame, wait for ack to follow
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 498200005eaa460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 73/x49 Len 2 T1 Data 0000 (Frame 49820000 5eaa) Rest 460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode called, fAdr 073, typeArr = AMD, code x23
2020.06.10 05:12:22 5: PEHA_PHC: SplitCode splits code 35 for type AMD into  channel 1 / function 3
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode checks typelist AMD against F=x03 C=x01Len=1, ackLen=2
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode match AMD030102 / Aus cba
2020.06.10 05:12:22 4: PEHA_PHC: ParseCommands AMD09o01 F3 Aus data x23 ack x00,x00 tg 1 EG_Garage_Wandlampe_aussen
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading AMD09o01 to Aus
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand channel map = 00000000
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Flur_Wandlampen_2x for channel 7 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Esszimmer_Esstischlampe for channel 6 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Garage_Wandlampe for channel 5 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Garage_Deckenlampen_4x for channel 4 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_WC_Wandlampen_2x for channel 3 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_WC_Deckenlampe for channel 2 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_Garage_Wandlampe_aussen for channel 1 to 0
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading EG_HWR_Deckenlampe for channel 0 to 0
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 460467010100754d460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 4 T0 Data 67010100 (Frame 460467010100 754d) Rest 460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: 460467010100 754d is not an Ack frame, wait for ack to follow
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 460200004b1446826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 2 T0 Data 0000 (Frame 46020000 4b14) Rest 46826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode called, fAdr 070, typeArr = JRM, code x67
2020.06.10 05:12:22 5: PEHA_PHC: SplitCode splits code 103 for type JRM into  channel 3 / function 7
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode checks typelist JRM against F=x07 C=x03Len=4, ackLen=2
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode match JRM070402 / Flip auf p,t2
2020.06.10 05:12:22 4: PEHA_PHC: ParseCommands JRM06o03 F7 Flip auf P100000 (no Set) Time1 1 data x67,x01,x01,x00 ack x00,x00 tg 0 EG_Flur_Haustuer_Jalousie
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading JRM06o03 to Flip auf
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 46826908a22646826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 2 T1 Data 6908 (Frame 46826908 a226) Rest 46826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: 46826908 a226 is not an Ack frame, wait for ack to follow
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 46826908a22646820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 2 T1 Data 6908 (Frame 46826908 a226) Rest 46820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 4: PEHA_PHC: Parseframes: Resend of 46826908 a226 detected
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 46820000a71846022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 2 T1 Data 0000 (Frame 46820000 a718) Rest 46022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode called, fAdr 070, typeArr = JRM, code x69
2020.06.10 05:12:22 5: PEHA_PHC: SplitCode splits code 105 for type JRM into  channel 3 / function 9
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode checks typelist JRM against F=x09 C=x03Len=2, ackLen=2
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode match JRM090202 / Prio lock p
2020.06.10 05:12:22 4: PEHA_PHC: ParseCommands JRM06o03 F9 Prio lock P000100 (no Set) data x69,x08 ack x00,x00 tg 1 EG_Flur_Haustuer_Jalousie
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading JRM06o03 to Prio lock
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 46022a08404646022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 2 T0 Data 2a08 (Frame 46022a08 4046) Rest 46022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: 46022a08 4046 is not an Ack frame, wait for ack to follow
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 46022a084046460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 2 T0 Data 2a08 (Frame 46022a08 4046) Rest 460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 4: PEHA_PHC: Parseframes: Resend of 46022a08 4046 detected
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 460200004b1447822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 2 T0 Data 0000 (Frame 46020000 4b14) Rest 47822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode called, fAdr 070, typeArr = JRM, code x2A
2020.06.10 05:12:22 5: PEHA_PHC: SplitCode splits code 42 for type JRM into  channel 1 / function 10
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode checks typelist JRM against F=x0A C=x01Len=2, ackLen=2
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode match JRM100202 / Prio unlock p
2020.06.10 05:12:22 4: PEHA_PHC: ParseCommands JRM06o01 F10 Prio unlock P000100 (no Set) data x2A,x08 ack x00,x00 tg 0 EG_Esszimmer_Rolllade_links
2020.06.10 05:12:22 5: PEHA_PHC: ParseCommand sets reading JRM06o01 to Prio unlock
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 47822a08175647822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 71/x47 Len 2 T1 Data 2a08 (Frame 47822a08 1756) Rest 47822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: 47822a08 1756 is not an Ack frame, wait for ack to follow
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 47822a081756478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 71/x47 Len 2 T1 Data 2a08 (Frame 47822a08 1756) Rest 478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 4: PEHA_PHC: Parseframes: Resend of 47822a08 1756 detected
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: loop with raw buffer: 478200001c0447026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Adr 71/x47 Len 2 T1 Data 0000 (Frame 47820000 1c04) Rest 47026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:22 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode called, fAdr 071, typeArr = JRM, code x2A
2020.06.10 05:12:22 5: PEHA_PHC: SplitCode splits code 42 for type JRM into  channel 1 / function 10
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode checks typelist JRM against F=x0A C=x01Len=2, ackLen=2
2020.06.10 05:12:22 5: PEHA_PHC: ParseCode match JRM100202 / Prio unlock p
2020.06.10 05:12:23 4: PEHA_PHC: ParseCommands JRM07o01 F10 Prio unlock P000100 (no Set) data x2A,x08 ack x00,x00 tg 1 EG_Esszimmer_Rolllade_mitte
2020.06.10 05:12:23 5: PEHA_PHC: ParseCommand sets reading JRM07o01 to Prio unlock
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: loop with raw buffer: 47026a089d1c47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: Adr 71/x47 Len 2 T0 Data 6a08 (Frame 47026a08 9d1c) Rest 47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: 47026a08 9d1c is not an Ack frame, wait for ack to follow
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: loop with raw buffer: 47026a089d1c47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: Adr 71/x47 Len 2 T0 Data 6a08 (Frame 47026a08 9d1c) Rest 47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:23 4: PEHA_PHC: Parseframes: Resend of 47026a08 9d1c detected
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: loop with raw buffer: 47020000f00846866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: Adr 71/x47 Len 2 T0 Data 0000 (Frame 47020000 f008) Rest 46866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:23 5: PEHA_PHC: ParseCode called, fAdr 071, typeArr = JRM, code x6A
2020.06.10 05:12:23 5: PEHA_PHC: SplitCode splits code 106 for type JRM into  channel 3 / function 10
2020.06.10 05:12:23 5: PEHA_PHC: ParseCode checks typelist JRM against F=x0A C=x03Len=2, ackLen=2
2020.06.10 05:12:23 5: PEHA_PHC: ParseCode match JRM100202 / Prio unlock p
2020.06.10 05:12:23 4: PEHA_PHC: ParseCommands JRM07o03 F10 Prio unlock P000100 (no Set) data x6A,x08 ack x00,x00 tg 0 EG_Kueche_Rolllade
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade loglevel:                   3
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade pehaRollerShutter:          PHC_RL_EG_Kueche_Rolllade
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENT:                      JRM07o03: Prio unlock
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENTCMD:                   Prio unlock
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade STOP:                       PHC_RL_EG_Kueche_Rolllade
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdateState() PHC_RL_EG_Kueche_Rolllade loglevel:                     3
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdateState() PHC_RL_EG_Kueche_Rolllade pehaBlindUpdateTime:          2
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdatePOS() PHC_RL_EG_Kueche_Rolllade loglevel:                       3
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdatePOS() PHC_RL_EG_Kueche_Rolllade pehaDirection:                  stop
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdatePOS() PHC_RL_EG_Kueche_Rolllade pehaPCT:                        100
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdatePOS() PHC_RL_EG_Kueche_Rolllade pehaPOS:                        100
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdatePOS() PHC_RL_EG_Kueche_Rolllade pehaStartPOS:                   100
2020.06.10 05:12:23 5: PEHA_PHC: ParseCommand sets reading JRM07o03 to Prio unlock
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade loglevel:                   3
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade pehaRollerShutter:          PHC_RL_EG_Kueche_Rolllade
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENT:                      JRM07o03: Prio unlock
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade EVENTCMD:                   Prio unlock
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindNotify() notify_PHC_RL_EG_Kueche_Rolllade STOP:                       PHC_RL_EG_Kueche_Rolllade
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdateState() PHC_RL_EG_Kueche_Rolllade loglevel:                     3
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdateState() PHC_RL_EG_Kueche_Rolllade pehaBlindUpdateTime:          2
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdatePOS() PHC_RL_EG_Kueche_Rolllade loglevel:                       3
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdatePOS() PHC_RL_EG_Kueche_Rolllade pehaDirection:                  stop
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdatePOS() PHC_RL_EG_Kueche_Rolllade pehaPCT:                        100
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdatePOS() PHC_RL_EG_Kueche_Rolllade pehaPOS:                        100
2020.06.10 05:12:23 3: <DEBUG> PEHA_PHC: pehaBlindUpdatePOS() PHC_RL_EG_Kueche_Rolllade pehaStartPOS:                   100
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: loop with raw buffer: 46866f0f0000440233f746866f0f0000440233f746820000a718
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 6 T1 Data 6f0f00004402 (Frame 46866f0f00004402 33f7) Rest 46866f0f0000440233f746820000a718
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: 46866f0f00004402 33f7 is not an Ack frame, wait for ack to follow
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: loop with raw buffer: 46866f0f0000440233f746820000a718
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 6 T1 Data 6f0f00004402 (Frame 46866f0f00004402 33f7) Rest 46820000a718
2020.06.10 05:12:23 4: PEHA_PHC: Parseframes: Resend of 46866f0f00004402 33f7 detected
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: loop with raw buffer: 46820000a718
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: Adr 70/x46 Len 2 T1 Data 0000 (Frame 46820000 a718) Rest
2020.06.10 05:12:23 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:23 5: PEHA_PHC: ParseCode called, fAdr 070, typeArr = JRM, code x6F
2020.06.10 05:12:23 5: PEHA_PHC: SplitCode splits code 111 for type JRM into  channel 3 / function 15
2020.06.10 05:12:23 5: PEHA_PHC: ParseCode checks typelist JRM against F=x0F C=x03Len=6, ackLen=2
2020.06.10 05:12:23 5: PEHA_PHC: ParseCode match JRM150602 / Sensor heben p,t2
2020.06.10 05:12:23 4: PEHA_PHC: ParseCommands JRM06o03 F15 Sensor heben P111100 (no Set) Time1 0 Time2 580 data x6F,x0F,x00,x00,x44,x02 ack x00,x00 tg 1 EG_Flur_Haustuer_Jalousie
2020.06.10 05:12:23 5: PEHA_PHC: ParseCommand sets reading JRM06o03 to Sensor heben
2020.06.10 05:12:31 5: PEHA_PHC: Parseframes: loop with raw buffer: e001032ee4e00900
2020.06.10 05:12:31 5: PEHA_PHC: Parseframes: e00103 2ee4 is not an Ack frame, wait for ack to follow
2020.06.10 05:12:31 5: PEHA_PHC: Parseframes: loop with raw buffer: e00900
2020.06.10 05:12:31 5: PEHA_PHC: Parseframes: loop with raw buffer: e0090003050d0b030a0614ccab
2020.06.10 05:12:31 5: PEHA_PHC: Parseframes: Ack received
2020.06.10 05:12:31 5: PEHA_PHC: ParseCode called, fAdr 224, typeArr = CLK, code x03
2020.06.10 05:12:31 5: PEHA_PHC: SplitCode splits code 03 for type CLK into  channel 0 / function 3
2020.06.10 05:12:31 5: PEHA_PHC: ParseCode checks typelist CLK against F=x03 C=x00Len=1, ackLen=9
2020.06.10 05:12:31 5: PEHA_PHC: ParseCode match CLK03 / Clock Request
2020.06.10 05:12:31 5: PEHA_PHC: ParseCommands CLK00o00 F3 Clock Request data x03 ack x00,x03,x05,x0D,x0B,x03,x0A,x06,x14 tg 0 CLK00o00



Und hier noch ein Problem mit den Rollladen. Ich habe im Haus diverse Rollladen, in der Peha sind Lokalbedienung pro Rolllade definiert, Gruppen für Zentralschalter und jeweils eine Gruppe fürs EG, OG usw.
Im EG sind es folgende Rollladen:

JRM06o01        EG Esszimmer Rolllade links
JRM07o03        EG Küche Rolllade
JRM07o01        EG Esszimmer Rolllade mitte


mit folgenden Zeitmessungs-Kanälen:

JRM06o05        Zeitmessung EG Esszimmer Rolllade links
JRM07o07        Zeitmessung EG Küche Rolllade
JRM07o05        Zeitmessung EG Esszimmer Rolllade mitte


Morgens werden die per Peha Uhr hochgefahren, Abends per Peha Dämmerungssensor, Zeitversatz der o.g. Rollladen ist 100/10 Sekunden.
Das Problem tritt auf wenn die Rollladen in einer Gruppe geschaltet werden, sei es nun per Dämmerungssensor, Sonnensensor oder Zentral-Taster.
Ich habe in FHEM derzeit nur eine Rolllade komplett konfiguriert, die "EG Küche Rolllade (JRM07o03)", alle anderen sind noch nicht vorhanden.

Nun zu dem Problem:
die Rückmeldung, wenn das Senken bzw. Heben der Gruppe zu Ende ist, kommt zu spät (oder gar nicht). Die "EG Küche Rolllade (JRM07o03)" braucht normalerweise fürs Hochfahren 29 Sekunden und fürs Runterfahren 26 Sekunden. Das klappt perfekt, wenn man diese eine per Wand-Taster und/oder FHEM steuert. Die Laufzeit ist in FHEM immer korrekt, weil die Rückmeldung immer genau dann kommt, wenn das Heben bzw. Senken zu Ende ist (+2 Sekunden Safety Puffer) - Sobald das aber per Gruppe passiert kommen die Rückmeldungen nicht passgenau sondern immer zu spät (oder gar nicht). In dem Fall von komplett rauf oder komplett runter ist das nicht sonderlich relevant, weil oben ist oben und unten ist unten, jedoch tritt das gleiche Problem auch auf, wenn der Sonnensensor die Rollladen Gruppe für 10 Sekunden runter fährt. Dann ist die Laufzeit so lang, daß FHEM denkt die Rolllade steht bei 80% und fuhr über 20 Sekunden lang, obwohl die in Wirklichkeit bei 50% steht und nur 10 Sekunden gefahren ist (weil FB_Senken_aus) zu spät gemeldet wird.
Manchmal kommt es auch vor (nicht reproduzierbar, tritt sporadisch auf), dass der Status bei "Heben" oder "Senken" bleibt und keinerlei "FB_(Heben|Senken)_Aus" kommt, deshalb läuft mein Notify ständig weiter weil ich auf die Rückmeldung "FB_(Heben|Senken)_Aus" angewiesen bin. Ich hatte schon mal eine Rollladen Laufzeit von etlichen Stunden in FHEM weil das Feedback nie kam.

EDIT: Derzeit sind 2 von den 3 Rollladen nach wie vor im Status "Sensor heben", seit 3 Minuten, und kein Ende in Sicht :-( ... Wenn Du davon ebenso das verbose 5 Log haben möchtest sag' Bescheid.


Lange Rede kurzer Sinn, hier das Event-Monitor Log und Debug Log (verbose 5) von heute morgen als die Gruppe per Uhr hochgefahren wurde:

2020-06-10 07:10:20 PHC PEHA_PHC LastCommand: JRM06o01 F15 Sensor heben P111100 (no Set) Time1 0 Time2 300 data x2F,x0F,x00,x00,x2C,x01 ack x00,x00 tg 0 EG_Esszimmer_Rolllade_links
2020-06-10 07:10:20 PHC PEHA_PHC JRM06o01: Sensor heben
2020-06-10 07:10:20 PHC PEHA_PHC JRM06o01: Sensor heben
2020-06-10 07:10:20 PHC PEHA_PHC LastCommand: JRM07o03 F15 Sensor heben P111100 (no Set) Time1 100 Time2 310 data x6F,x0F,x64,x00,x36,x01 ack x00,x00 tg 1 EG_Kueche_Rolllade
2020-06-10 07:10:20 PHC PEHA_PHC JRM07o03: Sensor heben
2020-06-10 07:10:20 PHC PEHA_PHC JRM07o03: Sensor heben
2020-06-10 07:10:20 PHC PEHA_PHC LastCommand: JRM07o01 F15 Sensor heben P111100 (no Set) Time1 200 Time2 300 data x2F,x0F,xC8,x00,x2C,x01 ack x00,x00 tg 0 EG_Esszimmer_Rolllade_mitte
2020-06-10 07:10:20 PHC PEHA_PHC JRM07o01: Sensor heben
2020-06-10 07:10:20 PHC PEHA_PHC JRM07o01: Sensor heben

2020-06-10 07:10:51 PHC PEHA_PHC LastCommand: JRM06o01 F4 FB_Heben_Aus data x24,x00 ack x00 tg 1 EG_Esszimmer_Rolllade_links
2020-06-10 07:10:51 PHC PEHA_PHC JRM06o01: FB_Heben_Aus
2020-06-10 07:10:51 PHC PEHA_PHC JRM06o01: FB_Heben_Aus
2020-06-10 07:10:51 PHC PEHA_PHC Zeitmessung_EG_Flur_Haustuer_Jalousie: 0
2020-06-10 07:10:51 PHC PEHA_PHC Zeitmessung_OG_Spielzimmer_Rolllade: 0
2020-06-10 07:10:51 PHC PEHA_PHC Zeitmessung_EG_Esszimmer_Rolllade_links: 0
2020-06-10 07:10:51 PHC PEHA_PHC Zeitmessung_OG_Naehzimmer_Rolllade: 0
2020-06-10 07:10:51 PHC PEHA_PHC EG_Flur_Haustuer_Jalousie: 0
2020-06-10 07:10:51 PHC PEHA_PHC OG_Spielzimmer_Rolllade: 0
2020-06-10 07:10:51 PHC PEHA_PHC EG_Esszimmer_Rolllade_links: 0
2020-06-10 07:10:51 PHC PEHA_PHC OG_Naehzimmer_Rolllade: 0
2020-06-10 07:10:51 PHC PEHA_PHC LastCommand: DIM04o00 F4 Aus data x04 ack x00,x80 tg 0 EG_Esszimmer_Deckenlampen_8x
2020-06-10 07:10:51 PHC PEHA_PHC DIM04o00: Aus
2020-06-10 07:10:51 PHC PEHA_PHC DIM04o00: Aus
2020-06-10 07:10:51 PHC PEHA_PHC EG_Kueche_Terrassentuer_Deckenlampen_3x: 0
2020-06-10 07:10:51 PHC PEHA_PHC EG_Esszimmer_Deckenlampen_8x: 0

2020-06-10 07:11:02 PHC PEHA_PHC LastCommand: JRM07o03 F4 FB_Heben_Aus data x64,x00 ack x00 tg 1 EG_Kueche_Rolllade
2020-06-10 07:11:02 PHC PEHA_PHC JRM07o03: FB_Heben_Aus
2020-06-10 07:11:02 PHC PEHA_PHC JRM07o03: FB_Heben_Aus
2020-06-10 07:11:02 PHC PEHA_PHC Zeitmessung_EG_Kueche_Rolllade: 0
2020-06-10 07:11:02 PHC PEHA_PHC Zeitmessung_OG_Duschbad_Rolllade: 0
2020-06-10 07:11:02 PHC PEHA_PHC Zeitmessung_EG_Esszimmer_Rolllade_mitte: 0
2020-06-10 07:11:02 PHC PEHA_PHC Zeitmessung_OG_Elternschlafzimmer_Rolllade: 0
2020-06-10 07:11:02 PHC PEHA_PHC EG_Kueche_Rolllade: 0
2020-06-10 07:11:02 PHC PEHA_PHC OG_Duschbad_Rolllade: 0
2020-06-10 07:11:02 PHC PEHA_PHC EG_Esszimmer_Rolllade_mitte: 0
2020-06-10 07:11:02 PHC PEHA_PHC OG_Elternschlafzimmer_Rolllade: 0
2020-06-10 07:11:02 PHC PEHA_PHC LastCommand: DIM03o01 F4 Aus data x24 ack x00,x80 tg 0 EG_Kueche_Dunstabzugshaube_Deckenlampen_4x
2020-06-10 07:11:02 PHC PEHA_PHC DIM03o01: Aus
2020-06-10 07:11:02 PHC PEHA_PHC DIM03o01: Aus
2020-06-10 07:11:02 PHC PEHA_PHC EG_Kueche_Dunstabzugshaube_Deckenlampen_4x: 0
2020-06-10 07:11:02 PHC PEHA_PHC EG_Wohnzimmer_Deckenlampen_4x_Fensterseite: 0
2020-06-10 07:11:02 PHC PEHA_PHC LastCommand: DIM04o01 F4 Aus data x24 ack x00,x80 tg 1 EG_Kueche_Terrassentuer_Deckenlampen_3x
2020-06-10 07:11:02 PHC PEHA_PHC DIM04o01: Aus
2020-06-10 07:11:02 PHC PEHA_PHC DIM04o01: Aus
2020-06-10 07:11:02 PHC PEHA_PHC EG_Kueche_Terrassentuer_Deckenlampen_3x: 0
2020-06-10 07:11:02 PHC PEHA_PHC EG_Esszimmer_Deckenlampen_8x: 0

2020-06-10 07:11:11 PHC PEHA_PHC LastCommand: JRM07o01 F4 FB_Heben_Aus data x24,x00 ack x00 tg 0 EG_Esszimmer_Rolllade_mitte
2020-06-10 07:11:11 PHC PEHA_PHC JRM07o01: FB_Heben_Aus
2020-06-10 07:11:11 PHC PEHA_PHC JRM07o01: FB_Heben_Aus
2020-06-10 07:11:11 PHC PEHA_PHC Zeitmessung_EG_Kueche_Rolllade: 0
2020-06-10 07:11:11 PHC PEHA_PHC Zeitmessung_OG_Duschbad_Rolllade: 0
2020-06-10 07:11:11 PHC PEHA_PHC Zeitmessung_EG_Esszimmer_Rolllade_mitte: 0
2020-06-10 07:11:11 PHC PEHA_PHC Zeitmessung_OG_Elternschlafzimmer_Rolllade: 0
2020-06-10 07:11:11 PHC PEHA_PHC EG_Kueche_Rolllade: 0
2020-06-10 07:11:11 PHC PEHA_PHC OG_Duschbad_Rolllade: 0
2020-06-10 07:11:11 PHC PEHA_PHC EG_Esszimmer_Rolllade_mitte: 0
2020-06-10 07:11:11 PHC PEHA_PHC OG_Elternschlafzimmer_Rolllade: 0
2020-06-10 07:11:11 PHC PEHA_PHC LastCommand: DIM04o00 F4 Aus data x04 ack x00,x80 tg 0 EG_Esszimmer_Deckenlampen_8x
2020-06-10 07:11:11 PHC PEHA_PHC DIM04o00: Aus
2020-06-10 07:11:11 PHC PEHA_PHC DIM04o00: Aus
2020-06-10 07:11:11 PHC PEHA_PHC EG_Kueche_Terrassentuer_Deckenlampen_3x: 0
2020-06-10 07:11:11 PHC PEHA_PHC EG_Esszimmer_Deckenlampen_8x: 0

2020-06-10 07:11:20 PHC PEHA_PHC LastCommand: JRM06o00 F15 Sensor heben P111100 (no Set) Time1 0 Time2 220 data x0F,x0F,x00,x00,xDC,x00 ack x00,x00 tg 1 OG_Naehzimmer_Rolllade
2020-06-10 07:11:20 PHC PEHA_PHC JRM06o00: Sensor heben
2020-06-10 07:11:20 PHC PEHA_PHC JRM06o00: Sensor heben
2020-06-10 07:11:20 PHC PEHA_PHC LastCommand: JRM07o02 F15 Sensor heben P111100 (no Set) Time1 100 Time2 220 data x4F,x0F,x64,x00,xDC,x00 ack x00,x00 tg 1 OG_Duschbad_Rolllade
2020-06-10 07:11:20 PHC PEHA_PHC JRM07o02: Sensor heben
2020-06-10 07:11:20 PHC PEHA_PHC JRM07o02: Sensor heben
2020-06-10 07:11:20 PHC PEHA_PHC LastCommand: JRM06o02 F15 Sensor heben P111100 (no Set) Time1 200 Time2 220 data x4F,x0F,xC8,x00,xDC,x00 ack x00,x00 tg 0 OG_Spielzimmer_Rolllade
2020-06-10 07:11:20 PHC PEHA_PHC JRM06o02: Sensor heben
2020-06-10 07:11:20 PHC PEHA_PHC JRM06o02: Sensor heben
2020-06-10 07:11:20 PHC PEHA_PHC LastCommand: JRM08o02 F15 Sensor heben P111100 (no Set) Time1 300 Time2 220 data x4F,x0F,x2C,x01,xDC,x00 ack x00,x00 tg 0 OG_Badezimmer_Rolllade
2020-06-10 07:11:20 PHC PEHA_PHC JRM08o02: Sensor heben
2020-06-10 07:11:20 PHC PEHA_PHC JRM08o02: Sensor heben

2020-06-10 07:11:43 PHC PEHA_PHC LastCommand: JRM06o00 F4 FB_Heben_Aus data x04,x00 ack x00 tg 0 OG_Naehzimmer_Rolllade
2020-06-10 07:11:43 PHC PEHA_PHC JRM06o00: FB_Heben_Aus
2020-06-10 07:11:43 PHC PEHA_PHC JRM06o00: FB_Heben_Aus
2020-06-10 07:11:43 PHC PEHA_PHC Zeitmessung_EG_Flur_Haustuer_Jalousie: 0
2020-06-10 07:11:43 PHC PEHA_PHC Zeitmessung_OG_Spielzimmer_Rolllade: 0
2020-06-10 07:11:43 PHC PEHA_PHC Zeitmessung_EG_Esszimmer_Rolllade_links: 0
2020-06-10 07:11:43 PHC PEHA_PHC Zeitmessung_OG_Naehzimmer_Rolllade: 0
2020-06-10 07:11:43 PHC PEHA_PHC EG_Flur_Haustuer_Jalousie: 0
2020-06-10 07:11:43 PHC PEHA_PHC OG_Spielzimmer_Rolllade: 0
2020-06-10 07:11:43 PHC PEHA_PHC EG_Esszimmer_Rolllade_links: 0
2020-06-10 07:11:43 PHC PEHA_PHC OG_Naehzimmer_Rolllade: 0

2020-06-10 07:11:53 PHC PEHA_PHC LastCommand: JRM07o02 F4 FB_Heben_Aus data x44,x00 ack x00 tg 1 OG_Duschbad_Rolllade
2020-06-10 07:11:53 PHC PEHA_PHC JRM07o02: FB_Heben_Aus
2020-06-10 07:11:53 PHC PEHA_PHC JRM07o02: FB_Heben_Aus
2020-06-10 07:11:53 PHC PEHA_PHC Zeitmessung_EG_Kueche_Rolllade: 0
2020-06-10 07:11:53 PHC PEHA_PHC Zeitmessung_OG_Duschbad_Rolllade: 0
2020-06-10 07:11:53 PHC PEHA_PHC Zeitmessung_EG_Esszimmer_Rolllade_mitte: 0
2020-06-10 07:11:53 PHC PEHA_PHC Zeitmessung_OG_Elternschlafzimmer_Rolllade: 0
2020-06-10 07:11:53 PHC PEHA_PHC EG_Kueche_Rolllade: 0
2020-06-10 07:11:53 PHC PEHA_PHC OG_Duschbad_Rolllade: 0
2020-06-10 07:11:53 PHC PEHA_PHC EG_Esszimmer_Rolllade_mitte: 0
2020-06-10 07:11:53 PHC PEHA_PHC OG_Elternschlafzimmer_Rolllade: 0

2020-06-10 07:12:03 PHC PEHA_PHC LastCommand: JRM06o02 F4 FB_Heben_Aus data x44,x00 ack x00 tg 1 OG_Spielzimmer_Rolllade
2020-06-10 07:12:03 PHC PEHA_PHC JRM06o02: FB_Heben_Aus
2020-06-10 07:12:03 PHC PEHA_PHC JRM06o02: FB_Heben_Aus
2020-06-10 07:12:03 PHC PEHA_PHC Zeitmessung_EG_Flur_Haustuer_Jalousie: 0
2020-06-10 07:12:03 PHC PEHA_PHC Zeitmessung_OG_Spielzimmer_Rolllade: 0
2020-06-10 07:12:03 PHC PEHA_PHC Zeitmessung_EG_Esszimmer_Rolllade_links: 0
2020-06-10 07:12:03 PHC PEHA_PHC Zeitmessung_OG_Naehzimmer_Rolllade: 0
2020-06-10 07:12:03 PHC PEHA_PHC EG_Flur_Haustuer_Jalousie: 0
2020-06-10 07:12:03 PHC PEHA_PHC OG_Spielzimmer_Rolllade: 0
2020-06-10 07:12:03 PHC PEHA_PHC EG_Esszimmer_Rolllade_links: 0
2020-06-10 07:12:03 PHC PEHA_PHC OG_Naehzimmer_Rolllade: 0

2020-06-10 07:12:13 PHC PEHA_PHC LastCommand: JRM08o02 F4 FB_Heben_Aus data x44,x00 ack x00 tg 1 OG_Badezimmer_Rolllade
2020-06-10 07:12:13 PHC PEHA_PHC JRM08o02: FB_Heben_Aus
2020-06-10 07:12:13 PHC PEHA_PHC JRM08o02: FB_Heben_Aus
2020-06-10 07:12:13 PHC PEHA_PHC Zeitmessung_frei_3: 0
2020-06-10 07:12:13 PHC PEHA_PHC Zeitmessung_OG_Badezimmer_Rolllade: 0
2020-06-10 07:12:13 PHC PEHA_PHC Zeitmessung_frei_1: 0
2020-06-10 07:12:13 PHC PEHA_PHC Zeitmessung_frei_0: 0
2020-06-10 07:12:13 PHC PEHA_PHC frei_3: 0
2020-06-10 07:12:13 PHC PEHA_PHC OG_Badezimmer_Rolllade: 0
2020-06-10 07:12:13 PHC PEHA_PHC frei_1: 0
2020-06-10 07:12:13 PHC PEHA_PHC frei_0: 0

2020-06-10 07:13:20 PHC PEHA_PHC LastCommand: JRM07o00 F15 Sensor heben P111100 (no Set) Time1 0 Time2 220 data x0F,x0F,x00,x00,xDC,x00 ack x00,x00 tg 0 OG_Elternschlafzimmer_Rolllade
2020-06-10 07:13:20 PHC PEHA_PHC JRM07o00: Sensor heben
2020-06-10 07:13:20 PHC PEHA_PHC JRM07o00: Sensor heben

2020-06-10 07:13:43 PHC PEHA_PHC LastCommand: JRM07o00 F4 FB_Heben_Aus data x04,x00 ack x00 tg 0 OG_Elternschlafzimmer_Rolllade
2020-06-10 07:13:43 PHC PEHA_PHC JRM07o00: FB_Heben_Aus
2020-06-10 07:13:43 PHC PEHA_PHC JRM07o00: FB_Heben_Aus
2020-06-10 07:13:43 PHC PEHA_PHC Zeitmessung_EG_Kueche_Rolllade: 0
2020-06-10 07:13:43 PHC PEHA_PHC Zeitmessung_OG_Duschbad_Rolllade: 0
2020-06-10 07:13:43 PHC PEHA_PHC Zeitmessung_EG_Esszimmer_Rolllade_mitte: 0
2020-06-10 07:13:43 PHC PEHA_PHC Zeitmessung_OG_Elternschlafzimmer_Rolllade: 0
2020-06-10 07:13:43 PHC PEHA_PHC EG_Kueche_Rolllade: 0
2020-06-10 07:13:43 PHC PEHA_PHC OG_Duschbad_Rolllade: 0
2020-06-10 07:13:43 PHC PEHA_PHC EG_Esszimmer_Rolllade_mitte: 0
2020-06-10 07:13:43 PHC PEHA_PHC OG_Elternschlafzimmer_Rolllade: 0
2020-06-10 07:13:43 PHC PEHA_PHC LastCommand: DIM00o00 F4 Aus data x04 ack x00,x80 tg 1 OG_Elternschlafzimmer_Deckenlampen_4x
2020-06-10 07:13:43 PHC PEHA_PHC DIM00o00: Aus
2020-06-10 07:13:43 PHC PEHA_PHC DIM00o00: Aus
2020-06-10 07:13:43 PHC PEHA_PHC EG_Flur_Deckenlampen_3x: 0
2020-06-10 07:13:43 PHC PEHA_PHC OG_Elternschlafzimmer_Deckenlampen_4x: 0



hier hätte eigentlich noch das Log stehen sollen aber warum auch immer konnte ich alles 1x abspeichern, dann verschwand die Hälfte vom Log und nun kann ich es nicht mehr speichern.
Dann eben als Anhang PEHA_PHC_Debug.log :)
EDIT: angehängt ebenso noch ein älteres Debug Log.


Ich hoffe Du kannst damit was anfangen, und ebenso hoffe ich dass ich mich verständlich ausgedrückt habe :) - Falls nicht bitte Bescheid geben.


Zitat von: StefanStrobel am 06 Mai 2020, 19:02:33
...
Ich könnte aber auch für existierende EMDs eine komfortablere Set-Funktion ins Modul bauen.
Nur bisher hat das keine benötigt ;-)
und falls Du mal nicht weißt was Du machen kannst und vor lauter Langeweile Löcher in die Luft schaust ;) würde ich mich ^ darüber sehr freuen. Vielleicht konfigurierbar wie z.B. mit EMDReadings 0|1.


Vielen Dank!
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 14 Juni 2020, 14:33:41
Hallo mcp,

anbei erstmal eine neue Version. Das mit den doppelten Events war ein Bug. Ich hatte nicht bedacht, dass ja schon Events für alle Vorgänge auf dem PHC-Bus erzeugt werden. Durch das Setzen der Readings kam dann nochmal ein redundanter Event hinzu. Das habe ich jetzt entfernt.
Dabei ist mir auch aufgefallen, dass das EMD-Reading nicht konsistent benannt wurde. Da war ein Bindestrich zu viel im Namen.
Ich werde das ganze Modul bei nächster Gelegenheit nochmal überarbeiten.

Was die set-Befehle angeht, so kann man bisher schon mit "set MeinPHC-Gerät emd Modul Channel Funktion" eine Nachricht von einem EMD simulieren. Bei mir z.B.:

set PHC emd 26 10 ein>0

Reicht Dir das schon aus?

Das mit den Rolläden verstehe ich noch nicht ganz.
In Deinem Eventlog sieht man für JRM7/3 doch sowohl das Einschalten als auch das Ausschalten.

2020-06-10 07:10:20 PHC PEHA_PHC JRM07o03: Sensor heben
...
2020-06-10 07:11:02 PHC PEHA_PHC JRM07o03: FB_Heben_Aus

Um welche Zeit sollte denn ein FB_Heben_Aus kommen bzw. wann fehlt es?

Das Fhem-Modul liest alle Nachrichten auf dem Bus und erzeugt daraus Events und Readings. Es kommt also darauf an, wie Deine Rolladenmodule (JRMs) programmiert sind.
Generell kennen die JRMs kein "ist oben" oder "ist unten". Man kann ihnen nur sagen, dass sie eine bestimmte Zeit in eine bestimmte Richtung schalten sollen. Ob zu Beginn oder zum Ende dieses Schaltvorgangs ein "Feedback-Nachricht" auf den Bus gesendet wird, hängt davon ob, wie die PHC-Steuerung die Module konfiguriert hat. Nach einem Neustart der PHC-Steuerung schickt diese einige Konfigurationsbefehle an jedes Modul und teilt ihm mit, welche Feedback-Nachrichten sie haben möchte (abhängig davon ob dieser Zustand im Programm der Steuerung benötigt wird). Genauso ist das auch mit den Timern in der Steuerung. Du bekommst das nur mit, wenn am Ende des Timers ein Befehl an ein Modul über den Bus geht.

Wenn Du also in Fhem wissen möchtest, ob eine Rollade tatsächlich zu ist, dann musst Du entweder in Fhem beobachten, welche Befehle an das JRM in welchem zeitlichen Abstand gehen, oder Du musst das innerhalb der PHC-Steuerung mit Timern machen, die dann am Ende einen Ausgang schalten.

Gruss
   Stefan

EDIT: angehängtes Modul nochmal aktualisiert
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 14 Juni 2020, 15:19:33
Hi Stefan,


Zitat von: StefanStrobel am 14 Juni 2020, 14:33:41
anbei erstmal eine neue Version. Das mit den doppelten Events war ein Bug. Ich hatte nicht bedacht, dass ja schon Events für alle Vorgänge auf dem PHC-Bus erzeugt werden. Durch das Setzen der Readings kam dann nochmal ein redundanter Event hinzu. Das habe ich jetzt entfernt.
Vielen Dank, teste ich nachher mal direkt.


Zitat
Dabei ist mir auch aufgefallen, dass das EMD-Reading nicht konsistent benannt wurde. Da war ein Bindestrich zu viel im Namen.
ja genau, hatte ich vor paar Wochen auch berichtet :)


Zitat
Ich werde das ganze Modul bei nächster Gelegenheit nochmal überarbeiten.
perfekt.


Zitat
Was die set-Befehle angeht, so kann man bisher schon mit "set MeinPHC-Gerät emd Modul Channel Funktion" eine Nachricht von einem EMD simulieren. Bei mir z.B.:

set PHC emd 26 10 ein>0

Reicht Dir das schon aus?
oh das kannte ich noch nicht. Probiere ich mal aus ob ich damit klar komme.


Zitat
Das mit den Rolläden verstehe ich noch nicht ganz.
...
Um welche Zeit sollte denn ein FB_Heben_Aus kommen bzw. wann fehlt es?
Das Problem ist wenn man die Rollladen per Gruppe schaltet bzw. schalten lässt, sei es Zentral-Taster oder Sensor. Meist bekommen nur 1 oder 2 Rollladen eine entsprechende Feedback Meldung (FB_Senken_Aus oder FB_Heben_Aus) und die anderen stehen bei "Sensor heben" oder "Sensor senken" für immer bzw. bis zum nächsten Event, wie z.B. zum Taster gehen und 1x kurz drücken für Stop oder bis zum nächsten Absenken per Taster/Sensor.
EDIT: Wenn es denn mal alle entsprechenden Rückmeldungen gibt, dann kommen die Zeitversetzt an. Wenn eine Rolllade schon längst unten ist dann dauert es paar Sekunden bis dann die finale Rückmeldung kommt. Ich hatte schon vermutet ob FHEM bzw. Perl zu langsam ist das alles so schnell verarbeiten zu können, evtl. wird ja auch etwas "verschluckt".


Zitat
Das Fhem-Modul liest alle Nachrichten auf dem Bus und erzeugt daraus Events und Readings. Es kommt also darauf an, wie Deine Rolladenmodule (JRMs) programmiert sind.
Kann man da denn Fehler machen so daß das mit den Feedback Meldungen nicht mehr passt? - Ich habe Dir mal paar Screenshots angehängt die verdeutlichen wie meine Peha Config aufgebaut ist.


Einen Bug hatte ich schon gefunden in meiner Config, der aber nie störte. Ich habe "Jalousieausgang Zeitmessung Sonnenverzögerung" immer alle Zeitmessungs Kanäle aller zu schaltenden Rollladen eingebaut, aber wie ich gelesen hatte ist das nicht nötig, es braucht nur ein Zeitmessungs Kanal pro Gruppe. Daher kam auch das 3x Fire Problem. Die eine Gruppe mit der ich teste hat 3 Rollläden und eine davon (Küche) ist in FHEM drin und mit der wird experimentiert.


Zitat
Wenn Du also in Fhem wissen möchtest, ob eine Rollade tatsächlich zu ist, dann musst Du entweder in Fhem beobachten, welche Befehle an das JRM in welchem zeitlichen Abstand gehen, oder Du musst das innerhalb der PHC-Steuerung mit Timern machen, die dann am Ende einen Ausgang schalten.
Bisher ist es so daß ich das mit FHEM beobachte und die Zeiten und PCT errechne, dafür brauche ich aber immer die korrekten Rückmeldungen (FB_...).


Was meinst du mit Timern in der PHC Steuerung? Das sagt mir aktuell nichts. Vor FHEM hatte ich es so daß ich mit Merkern gearbeitet habe die gesetzt/gelöscht wurden sobald ein Ausgang als Rückmeldung "Heben|Senken ein|ausgeschaltet" bekommen hat - Hat aber auch nie zufriedenstellend funktioniert weil die Meldung ja auch kommt wenn die Rollade nur 5 Sekunden gefahren hat, ging nur sinnvoll von komplett auf nach zu und umgekehrt.


Vielen Dank.
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 14 Juni 2020, 16:31:25
Hallo Stefan,

Zitat von: StefanStrobel am 14 Juni 2020, 14:33:41
EDIT: angehängtes Modul nochmal aktualisiert
Die Version produziert folgende Warnungen im Log:

2020.06.14 16:13:40 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 558240) line 1.
2020.06.14 16:13:41 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 558244) line 1.
2020.06.14 16:14:10 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 558326) line 1.
2020.06.14 16:14:14 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 558336) line 1.
2020.06.14 16:24:06 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 559945) line 1.
2020.06.14 16:24:28 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 560027) line 1.
2020.06.14 16:24:48 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 560104) line 1.
2020.06.14 16:24:52 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 560109) line 1.
2020.06.14 16:30:22 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 560995) line 1.
2020.06.14 16:30:25 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 561000) line 1.
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 14 Juni 2020, 19:48:49
Hallo mcp,

ich vermute die Meldungen kommen aus Deinem Code. Schau doch mal ob Du ein DoIF, Notify o.ä. verwendest, bei dem ein Vergleich mit == drin ist. Wenn dann die Variable keinen numerischen Inhalt hat, kommt so eine Meldung.

Zu den Rolladen:
Die JRM-Module erzeugen nach meinem Verständnis nur ein FB_... wenn sie im PHC-Programm auch wieder als Eingang oder Bedingung verwendet werden. So gesehen müsste ein Modul für einen Kanal entweder nie ein Feedback schicken oder immer.
Wenn es bei Dir aber beim gleichen Ausgang manchmal kommt und manchmal nicht, dann ist das seltsam.

Eigentlich sollte die Verarbeitung auf Fhem-Seite schnell genug sein, es sei denn Du verwendest Module, die Fhem blockieren oder Dein System ist komplett überlastet. Freezemon hilf bei der Klärung.

Mit Timern meinte ich dass Du eine der unbenutzten Zeitmessungen verwenden kannst, die beim Senken starten und am Ende z.B. einen freien Ausgang schalten (das kann auch eine nicht angeschlossene LED an einem EMD/RÜ sein). Im PHC-Programm stoppst Du dann den Timer falls in einer Lokalbedienung das Senken abgebrochen wird.
Das ist leider alles nicht gerade komfortabel ...

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 14 Juni 2020, 20:29:08
Hallo Stefan,

Zitat von: StefanStrobel am 14 Juni 2020, 19:48:49
ich vermute die Meldungen kommen aus Deinem Code. Schau doch mal ob Du ein DoIF, Notify o.ä. verwendest, bei dem ein Vergleich mit == drin ist. Wenn dann die Variable keinen numerischen Inhalt hat, kommt so eine Meldung.
ok ich schaue mal.

Zitat
Zu den Rolladen:
Die JRM-Module erzeugen nach meinem Verständnis nur ein FB_... wenn sie im PHC-Programm auch wieder als Eingang oder Bedingung verwendet werden. So gesehen müsste ein Modul für einen Kanal entweder nie ein Feedback schicken oder immer.
Ich lasse für jede Rolllade in der Peha einen Merker definieren wenn "Heben ausgeschaltet" und "Senken ausgeschaltet" kommt. Wenn der Merker für "Heben ausgeschaltet" gesetzt ist dann werden Lampen und Dimmer ausgeschaltet. Das habe ich für jede Rolllade so eingestellt, somit ist die Voraussetzung ja erfüllt.

Zitat
Wenn es bei Dir aber beim gleichen Ausgang manchmal kommt und manchmal nicht, dann ist das seltsam.
ja das finde ich auch seltsam :( - das ist Zufall, mal ist es die Rolllade links, mal die in der Mitte, mal die in der Küche wo das Feedback fehlt, mal auch bei zweien davon wo kein FB kommt. Und halt der Zeitversatz wann die FB Meldungen kommen ... ist auch noch ein Problem.
Und es passiert ausschließlich nur wenn es mehrere Rollläden betrifft. Einzeln geschaltet kommt immer ein FB und immer passgenau.

Zitat
Eigentlich sollte die Verarbeitung auf Fhem-Seite schnell genug sein, es sei denn Du verwendest Module, die Fhem blockieren oder Dein System ist komplett überlastet. Freezemon hilf bei der Klärung.
Ja das kenne und benutze ich auch. Ich habe einen RPi4 mit 4 GB RAM, einer Load von 0.1 bis 0.2, das System langweilt sich die meiste Zeit :) - und Freezemon hat auch nichts zu meckern.

Zitat
Mit Timern meinte ich dass Du eine der unbenutzten Zeitmessungen verwenden kannst, die beim Senken starten und am Ende z.B. einen freien Ausgang schalten (das kann auch eine nicht angeschlossene LED an einem EMD/RÜ sein). Im PHC-Programm stoppst Du dann den Timer falls in einer Lokalbedienung das Senken abgebrochen wird.
Das ist leider alles nicht gerade komfortabel ...
achso ok. Ja, komfortabel ist was anderes ;-/

--
ciao, Marc
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 14 Juni 2020, 22:22:53
Hi Stefan,

Zitat von: StefanStrobel am 14 Juni 2020, 19:48:49
ich vermute die Meldungen kommen aus Deinem Code. Schau doch mal ob Du ein DoIF, Notify o.ä. verwendest, bei dem ein Vergleich mit == drin ist. Wenn dann die Variable keinen numerischen Inhalt hat, kommt so eine Meldung.
So Leid es mir tut aber die Fehler sind in deinem Modul :)


2020.06.14 16:13:40 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 558240) line 1.
2020.06.14 16:13:41 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 558244) line 1.
2020.06.14 16:14:10 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 558326) line 1.
2020.06.14 16:14:14 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 558336) line 1.
2020.06.14 16:24:06 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 559945) line 1.
2020.06.14 16:24:28 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 560027) line 1.
2020.06.14 16:24:48 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 560104) line 1.
2020.06.14 16:24:52 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 560109) line 1.
2020.06.14 16:30:22 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 560995) line 1.
2020.06.14 16:30:25 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 561000) line 1.
2020.06.14 19:12:26 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55596) line 1.
2020.06.14 19:12:26 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55598) line 1.
2020.06.14 19:12:31 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55644) line 1.
2020.06.14 19:12:36 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55649) line 1.
2020.06.14 19:12:37 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55653) line 1.
2020.06.14 19:12:38 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55657) line 1.
2020.06.14 19:12:39 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55661) line 1.
2020.06.14 19:12:39 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55665) line 1.
2020.06.14 19:12:40 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55669) line 1.
2020.06.14 19:12:40 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55673) line 1.
2020.06.14 19:12:40 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55677) line 1.
2020.06.14 19:12:40 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55681) line 1.
2020.06.14 19:12:40 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55685) line 1.
2020.06.14 19:12:40 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55689) line 1.
2020.06.14 19:12:41 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55693) line 1.
2020.06.14 19:12:41 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55697) line 1.
2020.06.14 19:12:41 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55701) line 1.
2020.06.14 19:12:41 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55705) line 1.
2020.06.14 19:12:42 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55709) line 1.
2020.06.14 19:12:42 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55713) line 1.
2020.06.14 19:12:42 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55717) line 1.
2020.06.14 19:12:42 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55721) line 1.
2020.06.14 19:12:42 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55725) line 1.
2020.06.14 19:12:43 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55729) line 1.
2020.06.14 19:12:43 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55733) line 1.
2020.06.14 19:12:43 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55737) line 1.
2020.06.14 19:12:43 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55741) line 1.
2020.06.14 19:12:43 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55745) line 1.
2020.06.14 19:12:44 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55749) line 1.
2020.06.14 19:12:44 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 55753) line 1.
2020.06.14 19:14:37 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 56092) line 1.
2020.06.14 19:14:42 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 56096) line 1.
2020.06.14 19:14:46 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 56100) line 1.
2020.06.14 19:14:49 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 56104) line 1.
2020.06.14 19:14:50 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 56108) line 1.
2020.06.14 19:15:34 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 56301) line 1.
2020.06.14 19:15:48 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 56308) line 1.
2020.06.14 19:16:24 1: PERL WARNING: Argument "Dimmen Gegenrichtung" isn't numeric in numeric eq (==) at (eval 56402) line 1.
2020.06.14 19:16:36 1: PERL WARNING: Argument "Dimmen Gegenrichtung" isn't numeric in numeric eq (==) at (eval 56479) line 1.
2020.06.14 19:16:46 1: PERL WARNING: Argument "Ein Max ohne Memory" isn't numeric in numeric eq (==) at (eval 56487) line 1.
2020.06.14 19:16:57 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 56535) line 1.
2020.06.14 21:37:57 1: PERL WARNING: Argument "Umschalten Max ohne Memory" isn't numeric in numeric eq (==) at (eval 98872) line 1.
2020.06.14 21:38:11 1: PERL WARNING: Argument "Umschalten DIA1" isn't numeric in numeric eq (==) at (eval 98915) line 1.
2020.06.14 21:38:21 1: PERL WARNING: Argument "Umschalten DIA1" isn't numeric in numeric eq (==) at (eval 98922) line 1.
2020.06.14 21:38:22 1: PERL WARNING: Argument "Umschalten DIA1" isn't numeric in numeric eq (==) at (eval 98924) line 1.



taucht alles erst mit der Version '0.47 - 14.6.2020' auf. Hier ein diff zur 0.46:

@@ -700,18 +701,15 @@ sub PHC_ParseCommands($$)
     readingsBeginUpdate($hash);

     if ($command->{MTYPE} ne "CLK") {
+        my $chName = PHC_ChannelDesc($hash, $command, $command->{CHANNEL});
+        my $cmd    = $command->{FNAME};
         readingsBulkUpdate($hash, 'LastCommand', PHC_CmdText($hash, $command));
-        DoTrigger($name, PHC_ChannelText($hash, $command, $command->{CHANNEL}) . ": " . $command->{FNAME});
-
         if (AttrVal($name, "EMDReadings", 0)) {
-            my $fmAdr = sprintf('%02d', ($command->{ADR} & 0x1F));      # relative module address formatted with two digits
-            my $mType = $command->{MTYPE};
-            my $channel = $command->{CHANNEL};
-            my $rName =  ($mType ? $mType . $fmAdr : 'Module' . sprintf ("x%02X", $command->{ADR})) . "-" .
-                        ($command->{CTYPE} ? $command->{CTYPE} : "") . (defined($channel) ? sprintf('%02d', $channel) : "");
-            my $cmd = $command->{FNAME};
-            readingsBulkUpdate($hash, $rName, $cmd);
-            Log3 $name, 5, "$name: ParseCommand sets EMD reading $rName to $cmd";
+            readingsBulkUpdate($hash, $chName, $cmd);
+            Log3 $name, 5, "$name: ParseCommand sets EMD reading $chName to $cmd";
+        }
+        else {
+            DoTrigger($name, $chName . ": " . $cmd);
         }
     }


abgesehen davon ist da noch mehr kaputt mit der 0.47 ... Z.B. bekommen die Dimmer Module alle keinen Status mehr, steht permanent auf "Aus". Mit 0.46 sieht man z.B. wieder "Umschalten DIA1" usw.

--
ciao, Marc
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: amenomade am 15 Juni 2020, 00:11:26
Was Du hier zeigst:
2020.06.14 19:15:34 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 56301) line 1.
2020.06.14 19:15:48 1: PERL WARNING: Argument "Ein Memory" isn't numeric in numeric eq (==) at (eval 56308) line 1.
2020.06.14 19:16:24 1: PERL WARNING: Argument "Dimmen Gegenrichtung" isn't numeric in numeric eq (==) at (eval 56402) line 1.
2020.06.14 19:16:36 1: PERL WARNING: Argument "Dimmen Gegenrichtung" isn't numeric in numeric eq (==) at (eval 56479) line 1.
2020.06.14 19:16:46 1: PERL WARNING: Argument "Ein Max ohne Memory" isn't numeric in numeric eq (==) at (eval 56487) line 1.
2020.06.14 19:16:57 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 56535) line 1.
2020.06.14 21:37:57 1: PERL WARNING: Argument "Umschalten Max ohne Memory" isn't numeric in numeric eq (==) at (eval 98872) line 1.
2020.06.14 21:38:11 1: PERL WARNING: Argument "Umschalten DIA1" isn't numeric in numeric eq (==) at (eval 98915) line 1.

ist per se kein Hinweis auf ein Problem im Modul, sondern auf ein Problem in der Benutzung der Readings irgendwo (ReadingsGroup, DOIF, notify, userReading, usw)
Um genauer zu wissen, wo das Problem tatsächlich liegt, musst Du stacktrace aktivieren.

Das kann natürlich aber sein, dass ein Reading, das vorher numerisch war, jetzt als Text zurückgegeben wird, was alle deine Benutzungen von diesem Reading beeinflüssen würde. Das ist aber nicht unbedingt automatisch ein Bug.
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 15 Juni 2020, 08:06:03
Zitat von: amenomade am 15 Juni 2020, 00:11:26
...
ist per se kein Hinweis auf ein Problem im Modul, sondern auf ein Problem in der Benutzung der Readings irgendwo (ReadingsGroup, DOIF, notify, userReading, usw)
Um genauer zu wissen, wo das Problem tatsächlich liegt, musst Du stacktrace aktivieren.


2020.06.15 07:53:14 3: PEHA_PHC: DoEMD called for module 10, channel 01, function ein>0
2020.06.15 07:53:14 3: PEHA_PHC: toggle for module 10 was set and will now be cleared
2020.06.15 07:53:14 3: PEHA_PHC: sends 0a0112fd9f
2020.06.15 07:53:14 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 221660) line 1.
2020.06.15 07:53:14 1: stacktrace:
2020.06.15 07:53:14 1:     main::__ANON__                      called by (eval 221660) (1)
2020.06.15 07:53:14 1:     (eval)                              called by ./FHEM/33_readingsProxy.pm (139)
2020.06.15 07:53:14 1:     main::readingsProxy_update          called by ./FHEM/33_readingsProxy.pm (221)
2020.06.15 07:53:14 1:     main::readingsProxy_Notify          called by fhem.pl (3787)
2020.06.15 07:53:14 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2020.06.15 07:53:14 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2020.06.15 07:53:14 1:     main::__ANON__                      called by fhem.pl (3712)
2020.06.15 07:53:14 1:     main::DoTrigger                     called by fhem.pl (4777)
2020.06.15 07:53:14 1:     main::readingsEndUpdate             called by ./FHEM/98_PHC.pm (753)
2020.06.15 07:53:14 1:     main::PHC_ParseCommands             called by ./FHEM/98_PHC.pm (890)
2020.06.15 07:53:14 1:     main::PHC_ParseFrames               called by ./FHEM/98_PHC.pm (939)
2020.06.15 07:53:14 1:     main::PHC_Read                      called by fhem.pl (3787)
2020.06.15 07:53:14 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2020.06.15 07:53:14 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2020.06.15 07:53:14 1:     main::__ANON__                      called by fhem.pl (761)

2020.06.15 07:54:30 3: PEHA_PHC: DoEMD called for module 10, channel 03, function ein>0
2020.06.15 07:54:30 3: PEHA_PHC: toggle for module 10 was set and will now be cleared
2020.06.15 07:54:30 3: PEHA_PHC: sends 0a0132ffbe
2020.06.15 07:54:30 1: PERL WARNING: Argument "Umschalten DIA1" isn't numeric in numeric eq (==) at (eval 221887) line 1.
2020.06.15 07:54:30 1: stacktrace:
2020.06.15 07:54:30 1:     main::__ANON__                      called by (eval 221887) (1)
2020.06.15 07:54:30 1:     (eval)                              called by ./FHEM/33_readingsProxy.pm (139)
2020.06.15 07:54:30 1:     main::readingsProxy_update          called by ./FHEM/33_readingsProxy.pm (221)
2020.06.15 07:54:30 1:     main::readingsProxy_Notify          called by fhem.pl (3787)
2020.06.15 07:54:30 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2020.06.15 07:54:30 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2020.06.15 07:54:30 1:     main::__ANON__                      called by fhem.pl (3712)
2020.06.15 07:54:30 1:     main::DoTrigger                     called by fhem.pl (4777)
2020.06.15 07:54:30 1:     main::readingsEndUpdate             called by ./FHEM/98_PHC.pm (753)
2020.06.15 07:54:30 1:     main::PHC_ParseCommands             called by ./FHEM/98_PHC.pm (890)
2020.06.15 07:54:30 1:     main::PHC_ParseFrames               called by ./FHEM/98_PHC.pm (939)
2020.06.15 07:54:30 1:     main::PHC_Read                      called by fhem.pl (3787)
2020.06.15 07:54:30 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2020.06.15 07:54:30 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2020.06.15 07:54:30 1:     main::__ANON__                      called by fhem.pl (761)
2020.06.15 07:54:30 1: PERL WARNING: Argument "Umschalten DIA1" isn't numeric in numeric eq (==) at (eval 221889) line 1.
2020.06.15 07:54:30 1: stacktrace:
2020.06.15 07:54:30 1:     main::__ANON__                      called by (eval 221889) (1)
2020.06.15 07:54:30 1:     (eval)                              called by ./FHEM/33_readingsProxy.pm (139)
2020.06.15 07:54:30 1:     main::readingsProxy_update          called by ./FHEM/33_readingsProxy.pm (221)
2020.06.15 07:54:30 1:     main::readingsProxy_Notify          called by fhem.pl (3787)
2020.06.15 07:54:30 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2020.06.15 07:54:30 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2020.06.15 07:54:30 1:     main::__ANON__                      called by fhem.pl (3712)
2020.06.15 07:54:30 1:     main::DoTrigger                     called by fhem.pl (4777)
2020.06.15 07:54:30 1:     main::readingsEndUpdate             called by ./FHEM/98_PHC.pm (753)
2020.06.15 07:54:30 1:     main::PHC_ParseCommands             called by ./FHEM/98_PHC.pm (890)
2020.06.15 07:54:30 1:     main::PHC_ParseFrames               called by ./FHEM/98_PHC.pm (939)
2020.06.15 07:54:30 1:     main::PHC_Read                      called by fhem.pl (3787)
2020.06.15 07:54:30 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2020.06.15 07:54:30 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2020.06.15 07:54:30 1:     main::__ANON__                      called by fhem.pl (761)

2020.06.15 07:56:06 3: PEHA_PHC: DoEMD called for module 10, channel 02, function aus<1
2020.06.15 07:56:06 3: PEHA_PHC: toggle for module 10 was set and will now be cleared
2020.06.15 07:56:06 3: PEHA_PHC: sends 0a0123f7bf
2020.06.15 07:56:07 3: PEHA_PHC: DoEMD called for module 10, channel 02, function ein>1
2020.06.15 07:56:07 3: PEHA_PHC: sends 0a81248447
2020.06.15 07:56:38 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 222280) line 1.
2020.06.15 07:56:38 1: stacktrace:
2020.06.15 07:56:38 1:     main::__ANON__                      called by (eval 222280) (1)
2020.06.15 07:56:38 1:     (eval)                              called by ./FHEM/33_readingsProxy.pm (139)
2020.06.15 07:56:38 1:     main::readingsProxy_update          called by ./FHEM/33_readingsProxy.pm (221)
2020.06.15 07:56:38 1:     main::readingsProxy_Notify          called by fhem.pl (3787)
2020.06.15 07:56:38 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2020.06.15 07:56:38 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2020.06.15 07:56:38 1:     main::__ANON__                      called by fhem.pl (3712)
2020.06.15 07:56:38 1:     main::DoTrigger                     called by fhem.pl (4777)
2020.06.15 07:56:38 1:     main::readingsEndUpdate             called by ./FHEM/98_PHC.pm (753)
2020.06.15 07:56:38 1:     main::PHC_ParseCommands             called by ./FHEM/98_PHC.pm (890)
2020.06.15 07:56:38 1:     main::PHC_ParseFrames               called by ./FHEM/98_PHC.pm (939)
2020.06.15 07:56:38 1:     main::PHC_Read                      called by fhem.pl (3787)
2020.06.15 07:56:38 1:     main::CallFn                        called by ./FHEM/98_freezemon.pm (1235)
2020.06.15 07:56:38 1:     main::freezemon_callFn              called by ./FHEM/98_freezemon.pm (1348)
2020.06.15 07:56:38 1:     main::__ANON__                      called by fhem.pl (761)


aber wie gesagt, mit der 0.47 bekommen z.B. die Dimmer Module (DIM00o00 usw.) alle kein Update mehr, stehen permanent auf "Aus". Mit 0.46 sieht man z.B. wieder "Umschalten DIA1" usw.
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: amenomade am 15 Juni 2020, 22:08:31
Dann ist der Fehler in irgendeinem readingsProxy Device.

Was sind "die Dimmer Module (DIM00o00 usw.)" für Fhem Devices?
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 15 Juni 2020, 23:17:51
v0.47 updated die Readings nicht mehr wie DIM00o00, DIM04o02 usw. (das sind aktuell keine Devices in FHEM, das sind einfach nur Readings vom PHC Device) - die stehen (wie geschrieben) permanent auf "Aus", auch wenn man die Dimmer per Taster an der Wand einschaltet. Mit v0.46 funktioniert das hingegen wunderbar.

Wenn man nur die doppelten Events weg haben will, dann funktioniert das für mich so (Patch für v0.46):


--- 98_PHC-v0.46.pm     2020-06-06 21:09:22.000000000 +0200
+++ 98_PHC-v0.46b.pm    2020-06-15 23:14:14.990674684 +0200
@@ -701,7 +701,6 @@ sub PHC_ParseCommands($$)

     if ($command->{MTYPE} ne "CLK") {
         readingsBulkUpdate($hash, 'LastCommand', PHC_CmdText($hash, $command));
-        DoTrigger($name, PHC_ChannelText($hash, $command, $command->{CHANNEL}) . ": " . $command->{FNAME});

         if (AttrVal($name, "EMDReadings", 0)) {
             my $fmAdr = sprintf('%02d', ($command->{ADR} & 0x1F));      # relative module address formatted with two digits
@@ -712,6 +711,8 @@ sub PHC_ParseCommands($$)
             my $cmd = $command->{FNAME};
             readingsBulkUpdate($hash, $rName, $cmd);
             Log3 $name, 5, "$name: ParseCommand sets EMD reading $rName to $cmd";
+        } else {
+            DoTrigger($name, PHC_ChannelText($hash, $command, $command->{CHANNEL}) . ": " . $command->{FNAME});
         }
     }
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 15 Juni 2020, 23:30:09
und hier noch ein kleiner Fix:


--- 98_PHC-v0.46b.pm    2020-06-15 23:14:14.990674684 +0200
+++ 98_PHC-v0.46c.pm    2020-06-15 23:19:10.596866153 +0200
@@ -354,7 +354,7 @@ sub PHC_Attr(@)
             if ($modAdr >= 32) {
                 return "illegal EMD module address $modAdr - address needs to be < 32 and it must not be used on the bus";
             }
-            if ($cnlAdr >= 15) {
+            if ($cnlAdr >= 16) {
                 return "illegal EMD channel address $cnlAdr - address needs to be < 16";
             }

Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 15 Juni 2020, 23:37:52
und der Bindestrich der in einigen Readings zu viel ist ginge so weg:


--- 98_PHC-v0.46c.pm    2020-06-15 23:19:10.596866153 +0200
+++ 98_PHC-v0.46d.pm    2020-06-15 23:37:04.433028729 +0200
@@ -706,7 +706,7 @@ sub PHC_ParseCommands($$)
             my $fmAdr = sprintf('%02d', ($command->{ADR} & 0x1F));      # relative module address formatted with two digits
             my $mType = $command->{MTYPE};
             my $channel = $command->{CHANNEL};
-            my $rName =  ($mType ? $mType . $fmAdr : 'Module' . sprintf ("x%02X", $command->{ADR})) . "-" .
+            my $rName =  ($mType ? $mType . $fmAdr : 'Module' . sprintf ("x%02X", $command->{ADR})) . "" .
                         ($command->{CTYPE} ? $command->{CTYPE} : "") . (defined($channel) ? sprintf('%02d', $channel) : "");
             my $cmd = $command->{FNAME};
             readingsBulkUpdate($hash, $rName, $cmd);


wobei man sich dann das . "" . auch sparen könnte ;)
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: amenomade am 15 Juni 2020, 23:41:51
OK, so kann ich mir das jetzt erklären. Der Perl Warning kommt von einem readingsProxy, der Readings DIM... benutzt, die früher numerisch waren, und jetzt nur noch mit "Aus" aktualisiert werden. Klingt logisch.

Zitat von: amenomade am 15 Juni 2020, 00:11:26
Das kann natürlich aber sein, dass ein Reading, das vorher numerisch war, jetzt als Text zurückgegeben wird, was alle deine Benutzungen von diesem Reading beeinflüssen würde. Das ist aber nicht unbedingt automatisch ein Bug.

Dann muss man auf Stefan warten. Wobei... an seiner Stelle würde ich noch ein bisschen warten, bis Du alles saniert hast ;) :D
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 16 Juni 2020, 22:55:14
und noch ein Problem ;-/

Dimmer via "Umschalten DIA1 EIN/AUS" einschalten belegt via Funktionsprogrammierung "Aus < 1" = funktioniert, Log:


2020.06.16 22:37:47 3: PEHA_PHC: DoEMD called for module 04, channel 02, function aus<1
2020.06.16 22:37:47 5: PEHA_PHC: found function 3
2020.06.16 22:37:47 3: PEHA_PHC: toggle for module 04 was set and will now be cleared
2020.06.16 22:37:47 3: PEHA_PHC: sends 040123ecaf
2020.06.16 22:37:47 5: SW: 040123ecaf
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: loop with raw buffer: 040123ecaf04010075bca4012ede7ba4020082ad3ea4012ede7ba4020082ad3e
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: Adr 4/x04 Len 1 T0 Data 23 (Frame 040123 ecaf) Rest 04010075bca4012ede7ba4020082ad3ea4012ede7ba4020082ad3e
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: 040123 ecaf is not an Ack frame, wait for ack to follow
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: loop with raw buffer: 04010075bca4012ede7ba4020082ad3ea4012ede7ba4020082ad3e
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: Adr 4/x04 Len 1 T0 Data 00 (Frame 040100 75bc) Rest a4012ede7ba4020082ad3ea4012ede7ba4020082ad3e
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: Ack received
2020.06.16 22:37:47 5: PEHA_PHC: ParseCode called, fAdr 004, typeArr = EMD, code x23
2020.06.16 22:37:47 5: PEHA_PHC: SplitCode splits code 35 for type EMD into  channel 2 / function 3
2020.06.16 22:37:47 5: PEHA_PHC: ParseCode checks typelist EMD against F=x03 C=x02Len=1, ackLen=1
2020.06.16 22:37:47 5: PEHA_PHC: ParseCode match EMD03+01 / Aus < 1 i
2020.06.16 22:37:47 4: PEHA_PHC: ParseCommands EMD04i02 F3 Aus < 1 data x23 ack x00 tg 0 EG_Betonwand_Kueche_Spuele_Steckdosen_fuer_Schrankbeleuchtung_Terrassentuer_Deckenlampen_3x
2020.06.16 22:37:47 5: PEHA_PHC: ParseCommand sets reading EMD04i02 to Aus < 1
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: loop with raw buffer: a4012ede7ba4020082ad3ea4012ede7ba4020082ad3e
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: Adr 164/xa4 Len 1 T0 Data 2e (Frame a4012e de7b) Rest a4020082ad3ea4012ede7ba4020082ad3e
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: a4012e de7b is not an Ack frame, wait for ack to follow
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: loop with raw buffer: a4020082ad3ea4012ede7ba4020082ad3e
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: Adr 164/xa4 Len 2 T0 Data 0082 (Frame a4020082 ad3e) Rest a4012ede7ba4020082ad3e
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: Ack received
2020.06.16 22:37:47 5: PEHA_PHC: ParseCode called, fAdr 164, typeArr = DIM, code x2E
2020.06.16 22:37:47 5: PEHA_PHC: SplitCode splits code 46 for type DIM into  channel 1 / function 14
2020.06.16 22:37:47 5: PEHA_PHC: ParseCode checks typelist DIM against F=x0E C=x01Len=1, ackLen=2
2020.06.16 22:37:47 5: PEHA_PHC: ParseCode match DIM140102 / Umschalten DIA1 cb2
2020.06.16 22:37:47 4: PEHA_PHC: ParseCommands DIM04o01 F14 Umschalten DIA1 data x2E ack x00,x82 tg 0 EG_Kueche_Terrassentuer_Deckenlampen_3x
2020.06.16 22:37:47 5: PEHA_PHC: ParseCommand sets reading DIM04o01 to Umschalten DIA1
2020.06.16 22:37:47 5: PEHA_PHC: ParseCommand channel map = 10
2020.06.16 22:37:47 5: PEHA_PHC: ParseCommand sets reading EG_Kueche_Terrassentuer_Deckenlampen_3x for channel 1 to 1
2020.06.16 22:37:47 5: PEHA_PHC: ParseCommand sets reading EG_Esszimmer_Deckenlampen_8x for channel 0 to 0
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: loop with raw buffer: a4012ede7ba4020082ad3e
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: Adr 164/xa4 Len 1 T0 Data 2e (Frame a4012e de7b) Rest a4020082ad3e
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: a4012e de7b is not an Ack frame, wait for ack to follow
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: loop with raw buffer: a4020082ad3e
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: Adr 164/xa4 Len 2 T0 Data 0082 (Frame a4020082 ad3e) Rest
2020.06.16 22:37:47 5: PEHA_PHC: Parseframes: Ack received
2020.06.16 22:37:47 5: PEHA_PHC: ParseCode called, fAdr 164, typeArr = DIM, code x2E
2020.06.16 22:37:47 5: PEHA_PHC: SplitCode splits code 46 for type DIM into  channel 1 / function 14
2020.06.16 22:37:47 5: PEHA_PHC: ParseCode checks typelist DIM against F=x0E C=x01Len=1, ackLen=2
2020.06.16 22:37:47 5: PEHA_PHC: ParseCode match DIM140102 / Umschalten DIA1 cb2
2020.06.16 22:37:47 4: PEHA_PHC: ParseCommands DIM04o01 F14 Umschalten DIA1 data x2E ack x00,x82 tg 0 EG_Kueche_Terrassentuer_Deckenlampen_3x
2020.06.16 22:37:47 5: PEHA_PHC: ParseCommand sets reading DIM04o01 to Umschalten DIA1
2020.06.16 22:37:47 5: PEHA_PHC: ParseCommand channel map = 10
2020.06.16 22:37:47 5: PEHA_PHC: ParseCommand sets reading EG_Kueche_Terrassentuer_Deckenlampen_3x for channel 1 to 1
2020.06.16 22:37:47 5: PEHA_PHC: ParseCommand sets reading EG_Esszimmer_Deckenlampen_8x for channel 0 to 0



wenn die Lampe wieder aus ist und ich dann DIA2 einschalten will, in der Peha belegt als "Ein > 1 Umschalten DIA2 EIN/AUS" kommt das:


2020.06.16 22:39:05 3: PEHA_PHC: DoEMD called for module 04, channel 02, function ein>1
2020.06.16 22:39:05 5: PEHA_PHC: found function 4
2020.06.16 22:39:05 3: PEHA_PHC: toggle for module 04 was set and will now be cleared
2020.06.16 22:39:05 3: PEHA_PHC: sends 04012453db
2020.06.16 22:39:05 5: SW: 04012453db
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: loop with raw buffer: 04012453db04010075bca4033100001cf1a4033100001cf1a4020082ad3ea4033100001cf1a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: Adr 4/x04 Len 1 T0 Data 24 (Frame 040124 53db) Rest 04010075bca4033100001cf1a4033100001cf1a4020082ad3ea4033100001cf1a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: 040124 53db is not an Ack frame, wait for ack to follow
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: loop with raw buffer: 04010075bca4033100001cf1a4033100001cf1a4020082ad3ea4033100001cf1a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: Adr 4/x04 Len 1 T0 Data 00 (Frame 040100 75bc) Rest a4033100001cf1a4033100001cf1a4020082ad3ea4033100001cf1a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: Ack received
2020.06.16 22:39:06 5: PEHA_PHC: ParseCode called, fAdr 004, typeArr = EMD, code x24
2020.06.16 22:39:06 5: PEHA_PHC: SplitCode splits code 36 for type EMD into  channel 2 / function 4
2020.06.16 22:39:06 5: PEHA_PHC: ParseCode checks typelist EMD against F=x04 C=x02Len=1, ackLen=1
2020.06.16 22:39:06 5: PEHA_PHC: ParseCode match EMD04+01 / Ein > 1 i
2020.06.16 22:39:06 4: PEHA_PHC: ParseCommands EMD04i02 F4 Ein > 1 data x24 ack x00 tg 0 EG_Betonwand_Kueche_Spuele_Steckdosen_fuer_Schrankbeleuchtung_Terrassentuer_Deckenlampen_3x
2020.06.16 22:39:06 5: PEHA_PHC: ParseCommand sets reading EMD04i02 to Ein > 1
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: loop with raw buffer: a4033100001cf1a4033100001cf1a4020082ad3ea4033100001cf1a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: Adr 164/xa4 Len 3 T0 Data 310000 (Frame a403310000 1cf1) Rest a4033100001cf1a4020082ad3ea4033100001cf1a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: a403310000 1cf1 is not an Ack frame, wait for ack to follow
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: loop with raw buffer: a4033100001cf1a4020082ad3ea4033100001cf1a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: Adr 164/xa4 Len 3 T0 Data 310000 (Frame a403310000 1cf1) Rest a4020082ad3ea4033100001cf1a4020082ad3e
2020.06.16 22:39:06 4: PEHA_PHC: Parseframes: Resend of a403310000 1cf1 detected
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: loop with raw buffer: a4020082ad3ea4033100001cf1a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: Adr 164/xa4 Len 2 T0 Data 0082 (Frame a4020082 ad3e) Rest a4033100001cf1a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: Ack received
2020.06.16 22:39:06 5: PEHA_PHC: ParseCode called, fAdr 164, typeArr = DIM, code x31
2020.06.16 22:39:06 5: PEHA_PHC: SplitCode splits code 49 for type DIM into  channel 1 / function 17
2020.06.16 22:39:06 5: PEHA_PHC: ParseCode checks typelist DIM against F=x11 C=x01Len=3, ackLen=2
2020.06.16 22:39:06 3: PEHA_PHC: ParseCode DIM0401 F17 data x31,x00,x00 ack x00,x82 tg 0 DIM0401 no parse info
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: loop with raw buffer: a4033100001cf1a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: Adr 164/xa4 Len 3 T0 Data 310000 (Frame a403310000 1cf1) Rest a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: a403310000 1cf1 is not an Ack frame, wait for ack to follow
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: loop with raw buffer: a4020082ad3e
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: Adr 164/xa4 Len 2 T0 Data 0082 (Frame a4020082 ad3e) Rest
2020.06.16 22:39:06 5: PEHA_PHC: Parseframes: Ack received
2020.06.16 22:39:06 5: PEHA_PHC: ParseCode called, fAdr 164, typeArr = DIM, code x31
2020.06.16 22:39:06 5: PEHA_PHC: SplitCode splits code 49 for type DIM into  channel 1 / function 17
2020.06.16 22:39:06 5: PEHA_PHC: ParseCode checks typelist DIM against F=x11 C=x01Len=3, ackLen=2
2020.06.16 22:39:06 3: PEHA_PHC: ParseCode DIM0401 F17 data x31,x00,x00 ack x00,x82 tg 0 DIM0401 no parse info


-> ParseCode DIM0401 F17 data x31,x00,x00 ack x00,x82 tg 0 DIM0401 no parse info

entsprechend ist für FHEM der Dimmer aus, das Reading ist 0

DIA3 hingegen funktioniert wieder.
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 17 Juni 2020, 00:13:40

ParseCode checks typelist DIM against F=x0E C=x01Len=1, ackLen=2

        vs.

ParseCode checks typelist DIM against F=x11 C=x01Len=3, ackLen=2


wenn ich den Code richtig verstehe wäre das dann der Fix dafür:


--- 98_PHC-v0.46d.pm    2020-06-15 23:37:04.433028729 +0200
+++ 98_PHC-v0.46e.pm    2020-06-16 23:58:25.012406396 +0200
@@ -209,7 +209,7 @@ my %PHC_functions = (
     'DIM140102' => ['Umschalten DIA1', 'cb2'],
     'DIM150102' => ['Ein DIA1', 'cb2'],
     'DIM160102' => ['Speichern DIA2', 'cb2'],
-    'DIM170102' => ['Umschalten DIA2', 'cb2'],
+    'DIM170302' => ['Umschalten DIA2', 'cb2'],
     'DIM180102' => ['Ein DIA2', 'cb2'],
     'DIM190102' => ['Speichern DIA3', 'cb2'],
     'DIM200102' => ['Umschalten DIA3', 'cb2'],



wenn ich mir mal so meine alten FHEM Logs anschaue, dann erklärt sich wohl warum das mit den Rollladen mal funktioniert und mal nicht:


fhem-20200610.log:2020.06.10 18:16:36 3: PEHA_PHC: ParseCode JRM0701 F4 data x24,x64,x10 ack x00 tg 0 JRM0701 no parse info
fhem-20200611.log:2020.06.11 16:16:35 3: PEHA_PHC: ParseCode JRM0701 F4 data x24,x64,x10 ack x00 tg 0 JRM0701 no parse info
fhem-20200611.log:2020.06.11 16:19:31 3: PEHA_PHC: ParseCode JRM0701 F4 data x24,x64,x10 ack x00 tg 1 JRM0701 no parse info
fhem-20200613.log:2020.06.13 08:13:18 3: PEHA_PHC: ParseCode JRM0701 F5 data x25,x65,x00 ack x00 tg 1 JRM0701 no parse info
fhem-20200613.log:2020.06.13 08:30:19 3: PEHA_PHC: ParseCode JRM0701 F4 data x24,x64,x00 ack x00 tg 0 JRM0701 no parse info
fhem-20200614.log:2020.06.14 11:04:44 3: PEHA_PHC: ParseCode JRM0600 F4 data x04,x44,x00 ack x00 tg 1 JRM0600 no parse info
fhem-20200614.log:2020.06.14 11:04:44 3: PEHA_PHC: ParseCode JRM0700 F4 data x04,x44,x00 ack x00 tg 0 JRM0700 no parse info
fhem-20200614.log:2020.06.14 14:23:51 3: PEHA_PHC: ParseCode JRM0701 F4 data x24,x64,x00 ack x00 tg 1 JRM0701 no parse info
fhem-20200614.log:2020.06.14 15:46:02 3: PEHA_PHC: ParseCode JRM0701 F4 data x24,x64,x00 ack x00 tg 1 JRM0701 no parse info
fhem-20200615.log:2020.06.15 06:18:08 3: PEHA_PHC: ParseCode JRM0701 F4 data x24,x64,x00 ack x00 tg 0 JRM0701 no parse info
fhem-20200615.log:2020.06.15 13:58:54 3: PEHA_PHC: ParseCode JRM0700 F5 data x05,x65,x00 ack x00 tg 1 JRM0700 no parse info
fhem-20200615.log:2020.06.15 14:55:24 3: PEHA_PHC: ParseCode JRM0701 F4 data x24,x64,x00 ack x00 tg 0 JRM0701 no parse info
fhem-20200615.log:2020.06.15 14:55:43 3: PEHA_PHC: ParseCode JRM0701 F4 data x24,x64,x00 ack x00 tg 0 JRM0701 no parse info
fhem-20200615.log:2020.06.15 14:55:58 3: PEHA_PHC: ParseCode JRM0701 F5 data x25,x65,x00 ack x00 tg 1 JRM0701 no parse info
fhem-20200616.log:2020.06.16 22:25:35 3: PEHA_PHC: ParseCode JRM0600 F5 data x05,x25,x45,x00 ack x00 tg 0 JRM0600 no parse info


anscheinend ist die Länge variabel?!
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 23 Juni 2020, 10:42:47
Hallo Stefan,

ich hoffe dass du nicht wirklich darauf wartest was amenomade letztens geschrieben hat ;-)
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: mcp am 24 Juni 2020, 11:33:00
und noch ein Bug ;-(

habe gerade meine Kanalliste neu importiert da ich Änderungen in der Peha Config hatte.

Nun habe ich bei allen EMDs die nicht konfiguriert sind exakt immer den gleichen Text drin stehen, quasi immer den Text von dem EMD Kanal vorher.

Mit der alten Version bei der die letzte Änderung für den Import noch nicht drin ist klappt es hingegen.

Ich habe noch ein STM v2 und ebenso die v2 Software dazu.
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 07 Juli 2020, 21:18:16
Hallo,

sorry für die späte Rückmeldung. Ich war mit einer neuen Version von HTTPMOD beschäftigt (Umbau als Package), habe keine Meldung mehr über neue Nachrichten in diesem Thread bekommen und so etwas den Anschluss verpasst.
Bei der Menge von Feedback versuche ich das mal der Reihe nach zu verarbeiten:

Zitat
2020.06.14 16:13:41 1: PERL WARNING: Argument "Aus" isn't numeric in numeric eq (==) at (eval 558244) line 1.
2020.06.14 16:14:10 1: PERL WARNING: Argument "Ein" isn't numeric in numeric eq (==) at (eval 558326) line 1.
sollte inzwischen geklärt sein. Ein EMD liefert keine 0/1 sondern Taster-Befehle wie "Ein > 0". Ob das einen Ausgang ein- oder ausschaltet kann man dabei nicht erkennen.
Vermutlich wäre es doch besser, wenn das Modul Events nicht mit den Kanalnamen wie "Taster für Küchenlichter" erzeugt, sondern wie ursprünglich als EMD10..., dann kann man im Notify besser darauf filtern und reagieren.

Zitat
abgesehen davon ist da noch mehr kaputt mit der 0.47 ... Z.B. bekommen die Dimmer Module alle keinen Status mehr, steht permanent auf "Aus". Mit 0.46 sieht man z.B. wieder "Umschalten DIA1" usw.

Schau doch mal nach einem Reading mit einem sprechenden Namen. In einer früheren Version waren die Dimmer nicht wirklich implementiert. Seit ich das etwas ergänzt habe, sollten statt der Readings mit der Modul- und Kanalnummer die Bezeichnungen verwendet werden (sofern als Attribut gesetzt). Das alte Reading wird dadurch aber nicht automatisch gelöscht. Deshalb steht es noch rum und ändert sich nicht mehr.

Zitat
Wenn man nur die doppelten Events weg haben will, dann funktioniert das für mich so (Patch für v0.46):

Ursprünglich gab es für alle Aktivitäten auf dem Bus einfache Events, die keine Kanalbezeichnungen sondern die Modulnummern verwendet haben. Durch die zusätzlichen Readings für EMDs gab es dann doppelte Events. Die vom Bus und die für das Setzen von Readings mit den Kanabezeichnungen. Das habe ich versucht aufzuräumen und dabei auch die Events so geändert, dass sie die Bezeichnungen verwenden.
Wenn das stört, kann ich auch ein Attribut einführen, mit dem man einstellen kann, ob die Events eher minimalistisch ausfallen sollen.

Zitat
-            if ($cnlAdr >= 15) {
+            if ($cnlAdr >= 16) {

Übernehme ich.

Zitat
-            my $rName =  ($mType ? $mType . $fmAdr : 'Module' . sprintf ("x%02X", $command->{ADR})) . "-" .
+            my $rName =  ($mType ? $mType . $fmAdr : 'Module' . sprintf ("x%02X", $command->{ADR})) . "" .
Der ganze Codeabschnitt war auf die Schnelle eingefügt um die gewünschten EMD Readings einzubauen. Bei der nächsten Überarbeitung ist mir klar geworden, dass der Code komplett redundant zur Funktion PHC_ChannelDesc ist. Daher die Änderung.

Zitat
-> ParseCode DIM0401 F17 data x31,x00,x00 ack x00,x82 tg 0 DIM0401 no parse info
Ja, so etwas wird es noch an anderen Stellen geben.
Das Protokoll ist ja proprietär und nicht dokumentiert. Das Modul basiert daher auf meinen Beobachtungen und dem was andere bisher dazu geschrieben haben. bei den Dimmern gibt es noch ein paar Unbekannte...

Zitat
-    'DIM170102' => ['Umschalten DIA2', 'cb2'],
+    'DIM170302' => ['Umschalten DIA2', 'cb2'],
...
anscheinend ist die Länge variabel?!

Da können wir nur raten. Ich würde im Zweifelsfall beide Zeilen drin lassen. Dann kann das Modul evt. in beiden Fälen etwas erkennen.
Das muss ich mir aber noch genauer ansehen.

Zitat
und noch ein Bug ;-(
habe gerade meine Kanalliste neu importiert da ich Änderungen in der Peha Config hatte.
Nun habe ich bei allen EMDs die nicht konfiguriert sind exakt immer den gleichen Text drin stehen, quasi immer den Text von dem EMD Kanal vorher.

Na ja, auch das Format der Kanal-Liste ist kein dokumentierter Standard. Ich habe es damals auf die Schnelle für meine Datei implementiert. Dann für die von Henrik ergänzt. Wenn Du Deine Kanalliste postest, kann ich mal schauen, woran es liegt. Oder Du versuchst die Abweichung / den Fehler selbst zu finden.

Generell ist es so, dass ich das Modul 2017 geschrieben habe und sich danach kaum jemand dafür interessiert hat. PHC war wohl nie weit verbreitet und seit es offiziell eingestellt wurde, ist das Interesse nicht gerade gestiegen.
Daher macht es bisher nur die Dinge, die mir selbst wichtig waren, zumal vieles erst mit aufwendigem Reverse-Engineering und viel Raten machbar ist. Ich erweitere das gerne, habe aber leider nur gelegentlich Zeit zum Programmieren und in der wenigen Zeit muss ich mich dann entscheiden, ob ich mich um die Module HTTPMOD, Modbus, ArduCounter, FReplacer oder PHC kümmere...
Wenn Du also selbst in den Code schauen oder das Protokoll weiter analysieren kannst, nehme ich die Erkenntnisse gerne ins Modul auf. Das Beschleunigt die Weiterentwicklung auf jeden Fall :-)

Gruss
    Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 10 Juli 2020, 21:56:50
Hallo,

ich habe heute am Abend mal angefangen das PHC-Modul aufzuräumen und ein paar Dinge sauberer zu machen.
- Alle Bus-Messages außer CLK erzeugen Events unabhängug von Readings und mit dem neuen Attribut BusEvents kann man konfigurieren, wie diese aussehen sollen. Ich würde das auf 'small' setzen. Dann enthalten die Events nicht den Namen, der eventuell mit einer channelDescription vergeben wurde, sondern die Kurzbezeichnung wie z.B. EMD12i01: Ein > 0.
- die optional einschaltbaren EMD-Readings erzeugen jetzt generell keine Events mehr, da das nur zu Redundanzen führt (unabhängig vom Reading erzeugte ein Eingang sowieso ein Event aber das ist jetzt mit dem Attribut BusEvents konfigurierbar )
- Intern hat das Modul jetzt einen eigenen Namensraum, aber davon sollte man nichts bemerken ;-)

Es wäre hilfreich, wenn jemand den Zwischenstand testen könnte.

Gruss / Thanx
   Stefan

Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 08 April 2021, 13:04:40
Hallo,

hier nochmals ein Update.
Neu ist die Unterstützung des XML-RPC-Interface der V3-Steuerung.
Damit kann man über die Steuerung auch direkt Ausgänge ansteuern (ohne Programmierung im STM).
Um es zu testen muss man neben dem PHC-Modul auch ein HTTPMOD-Device definieren:

define PHC-STM-XMLRPC HTTPMOD http://your-stm-ip:6680/ 0


dieses wird dem PHC-Moduls dann mit einem Attribut bekannt gemacht:

attr PHC HTTPMOD PHC-STM-XMLRPC


Dann kann man Ausgänge zum direkten Schalten freischalten.
Beispiel:

define PHC PHC /dev/rs485-3@19200,8,N,2
attr PHC HTTPMOD PHCService
attr PHC STM_ADR 0

attr PHC channelAMD03o02description Arbeiten-Lampenschiene
attr PHC channelAMD03o02set 1

attr PHC channelJRM22o02description Rollade AZ Hinten
attr PHC channelJRM22o02set 1

define PHC-STM-XMLRPC HTTPMOD http://your-stm-ip:6680/ 0


Dann kann man Ausgänge schalten mit:

set PHC Arbeiten-Lampenschiene ein


oder mit spezifischeren PHC-Bus-Befehlen:

set PHC Arbeiten-Lampenschiene ein mit timer time=10
set PHC Rollade_AZ_Hinten senken prio=2 set=1 time=50


Noch habe ich nicht alle Bus-Befehle für alle Module aktiviert und getestet, aber die wichtigsten sollten drin sein.
Bitte gebt mir Feedback ob es bei Euch so läuft.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 09 April 2021, 23:10:35
Hier noch ein Bugfix ...

Gruß
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 11 April 2021, 11:22:34
Hallo Stefan,

toll das Du dir die mühe machst und das Modul weiter entwickelst.

Folgende Befehle funktionieren auch beim Dimmermodul.


set MyPHC Di_Wohnzimmer_Mitte dunkler dimmen dimmwert=20 dimmzeit=4
set MyPHC Di_Wohnzimmer_Mitte heller dimmen dimmwert=80 dimmzeit=5


Was ich noch nicht hinbekomme, ist einzuschalten mit einem bestimmten Dimmwert.


set MyPHC Di_Wohnzimmer_Mitte ein memory set=1 dimmwert=255 dimmzeit=4
.

Tauchen bei dem  HTTPMOD PHC_STM_XMLRPC keine Events im Eventmonitor auf, zumindest bei mir nicht.

Grüße Henrik



Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 11 April 2021, 19:43:29
Hallo Henrik,

"set=1" wird nur im Zusammenhang mit Jalousie-Modulen verwendet, und bedeutet, dass die Priorität gesetzt wird.
Bei "heller dimmen" und "dunkler dimmen" kann jeweils eine Zeit mit "time=x" übergeben werden. Sonst verwendet das Modul einen Default-Wert für die Zeit.
Das Dimmer-Modul wird dann in der angegebenen Geschwindigkeit heller oder dunkler, bis ein weiterer Befehl kommt oder das Maximum bzw. Minimum erreicht ist.
Einen Wert kann man dabei nicht setzen. Den Befehl "Dimmwert und Zeit setzen" muss ich mir noch genauer ansehen. Den habe ich noch nicht freigeschaltet. Das kommt aber noch.
Die Doku habe ich wie man sieht auch noch nicht ergänzt.

Die Antworten auf XML-RPC Aufrufe werte ich bisher auch noch nicht aus. Daher auch keine Events. Das wäre aber auch noch eine schöne Erweiterung.
Ich möchte auch die Timer im STM noch verstellbar machen. Über das XML-RPC-API sollte das gehen.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 15 April 2021, 17:51:41
Hallo,

hier nochmal ein neuer Zwischenstand:

set PHC Wohnen_Deckenleuchte_zum_Essbereich Dimmwert und Zeit setzen value=50 time=4

sollte jetzt auch gehen.

Gruss
   Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 15 April 2021, 21:11:49
Hallo Stefan,

da funktioniert perfekt.
Nun habe ich nur noch das Problem, wenn ich per Schalter dimme, dann ändert sich der Status im FHEM nicht.
Hast Du da eine Lösung bei Dir.

Grüße Henrik
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 16 April 2021, 16:56:01
Hallo Henrik,

der on/off-Status sollte eigentlich über den Bus gelesen und angezeigt werden.
Der Dim-Status (Helligkeit) wurde ja auch bisher nicht angezeigt. Meinst Du den?

Gruss   
    Stefan
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: Henne16 am 18 April 2021, 13:08:24
Hallo Stefan,

ja an aus kann man ja sehen, nur wenn ich per Taster dimme kann ich den Dimmwert nicht im FHEM sehen.


LastCommand  DIM02?00 Ch0 F1 data x01 ack x01,x00,x8C,x02,x2D tg 1 DIM02_00


Hast Du da eine Idee wie man das hinbekommt.

Grüße Henrik
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 19 April 2021, 19:38:30
Hallo Henrik,

Vermutlich klappt das bestenfalls näherungsweise.
beim manuellen Dimmen wird ja meist durch langen Tasterdruck das Dimmen in Richtung "heller" oder "dunkler" gestartet und durch Loslassen beendet.
Das Fhem-Modul müsste also die Zeit zwischen den Nachrichten ermitteln und anhand der gesendeten Dim-Geschwindigkeit ausrechnen, wo der Dimmer vermutlich steht.
Nur wenn explizit der Dim-Wert gesetzt wird, ist es einfach.
Vielleicht gibt es auch einen Bus-Befehl, mit dem die Steuerung den Dim-Wert eines Ausgangs abfragen kann, aber den kenne ich jedenfalls nicht.

Gruss
   Stefan
Titel: Antw: PHC-Bussystem von Peha neue Frage
Beitrag von: blackfire am 25 Mai 2021, 10:07:22
Hallo Stefan,
erstmal ein großes Lob an Dich, dass Du soviel Arbeit in dieses Projekt steckst.
Dankeschön!

Seit mehr als zwei Jahren habe ich einen ioBroker im Betrieb mit mehreren Adaptern
(Fhem, Homematic, VIS, Javascript = Blockly usw.") läuft alles ganz gut.

Im Altbau läuft ein Peha-System und im Neubau wurde Homeatic-Wired installiert.

Habe jetzt einen neuen Ubuntu Server mit Docker im Betrieb.
Unter anderem läuft ein Fhem Container auf dem Server.

Dieser Fhem Container wurde auch schon erfolgreich konfiguriert

-define telnetPort telnet 7072 global
-define Peha PHC /dev/ttyUSB0
-erfolgreiche Verbindung zum ioBroker
-die Verbindung zum Peha System ist connect
-command-Befehle (set Peha emd 00 01 ein>0) funktonieren in Fhem

Aber die Readings werden im ioBroker nicht  aktuallisiert bzw. der Wert ändert sich nicht.
LastCommand -> Peha LastCommand wird im ioBroker aktualisiert. (siehe SQL Bild)

Der Wert im Ausgangsmodul AMD05o01 (Fhem) wird aktualisiert.
Der Wert im Ausgangsmodul AMD05o01 (ioBroker) wird nicht aktualisiert.

Was mache ich hier falsch?
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: blackfire am 25 Mai 2021, 11:10:57
Fehler gefunden  :)

Habe jetzt Attribute angelegt!

Beispiel:
attr Peha channelAMD14o04description CARPORT LICHT

jetzt geht es!
Titel: Antw:Neues Modul für das PHC-Bussystem von Peha
Beitrag von: StefanStrobel am 05 Juni 2021, 17:57:38
Hallo blackfire,

Mit dem Attribut BusEvents kannst Du das auch steuern.

Gruß
    Stefan