Neues Modul für Pluggit Avent Lüftungsanlagen (AP190,AP310,AP460) mit Modbus TCP

Begonnen von mkunst, 27 März 2016, 21:47:39

Vorheriges Thema - Nächstes Thema

mkunst

Ich habe auf Basis des Modbus-Moduls ein Modul für die aktuelle Generation der Pluggit Avent Lüftungsanlagen (AP190,AP310,AP460) mit Modbus TCP Schnittstelle über Ethernet geschrieben und
auch erfolgreich mit meiner AP310 in Betrieb genommen.
Eine erste Version des Moduls hatte ich bereits unter
https://forum.fhem.de/index.php/topic,25315.msg420511.html#msg420511  vorgestellt.
Nun soll die weitere Entwicklung in diesem Thread weiterlaufen und ich hoffe auf weitere Beteiligung.
Die hier angehängte Version enthält zusätzlichen Zugriff auf den Sommerbypass und ein vereinfachtes define.
Ich würde mich über Rückmeldungen zu Tests vor allem auch mit den anderen Pluggit Anlagen und  sonstigen Anmerkungen  und Vorschlägen für das Modul freuen.

Gruß
Matthias

Update 2016-04-03:
Filter spezifische Funktionen hinzugefügt

DocGreen

Hallo,

melde Erfolg!
Meine AP310 lies sich sofort einbinden.
define AP310 Pluggit 30 xxx.xxx.xxx.xxx

Das Schalten einzelner Befehle klappt auch super. Werde mir jetzt Möglichkeiten für weitere Automation suchen.
Perfekt wäre jetzt eine Integration in die MobileApps, damit man nicht mehr die nervige Pluggit App selbst braucht.

Vielen Dank für das Plugin,

Björn

mkunst

Hallo DocGreen,

Danke für die Rückmeldung.
Schön das es so einfach funktioniert hat.
Auf welche MobileApps bezieht sich dein Integrationswunsch?
Ich nutze andFHEM und kann darüber ohne weitere Anpassungen die gleichen Funktionen nutzen wie über die FHEM Web Oberfläche.

Gruß
Matthias

DocGreen

Hi,

ich hänge leider am iOS fest und in der FHEMApp klappt es so nicht. Konnte mir aber mit einem Dummy-Device helfen. Somit kann ich die für mich wichtigen Funktionen steuern.

Die Zeit zum Filterwechsel kann man aber nicht auslesen, oder?


Björn

mkunst

Hi,

Ich hab die Filterfunktionen (Verbleibende Tage, Reset) hinzugefügt und eine aktualisierte Version an den
ersten Beitrag angehängt.

Gruß
Matthias

Scheunenwart

Große Klasse für das Modul! Das ging einfacher als gedacht: Datei 98_Pluggit.pm auf dem Server downloaden und im Terminal eingeben:
cd Downloads,
sudo bash
cp 98_Pluggit.pm /opt/fhem/FHEM/98_Pluggit.pm

Dann in der FHEM Weboberfläche
reload 98_Pluggit
define AP310 Pluggit 30 <ip-Adresse im Heimnetz>
define PluggitAventAP310 FileLog ./log/PluggitAventAP310-%Y.log AP310:.*

und dann für den Filelog die relevanten Einträge auswählen, .* abwählen
Create svg Plot anklicken

und schon funktioniert's.

Chapeau an die Ersteller!
Norbert

jguelle

Vielen Dank für das Modul.

Damit geht es wirklich einfach alles auszulesen bzw. das Modul anzupassen.
Ich habe für meine Bedürfnisse den VOC Wert aus h430 noch hinzugefügt und zur besseren Darstellung meiner Plots das L vor den Lüfterlevels entfernt.

Ist/Wird das Modul durch die automatische Updatefunktion von FHEM aktualsiert?

Jürgen


mkunst

Hallo Jürgen,

Das Modul wird bisher nicht über update mit installiert und aktualisiert.
Ich möchte dies aber später hinzufügen, wenn es einige mehr Erfahrungsberichte gibt und das Modul soweit stabil erscheint.
Wenn du mir deine Änderungen als patch, oder auch das ganze File zuschickst, werde ich sie gerne in ein zukünfitges Update integrieren.
VOC hatte ich mangels Testmöglichkeit bisher ausgelassen...

Gruß
Matthias

Scheunenwart

Lüftungsstufe in svg-Plots anzeigen (AP310):

$fld[3]=~"L0"?0:$fld[3]=~"L1"?1:$fld[3]=~"L3"?3:$fld[3]=~"L4"?4:.5

Scheunenwart

Lüftung in Abhängigkeit der Luftfeuchte steuern:

define LueftungSet notify (HM_3F5A5E:humidity:.*) {
  if ($EVTPART1 > 65) {fhem("set AP310 FanSpeedLevel L4")}
  elsif ($EVTPART1 > 63) {fhem("set AP310 FanSpeedLevel L3")}
  elsif ($EVTPART1 > 60) {fhem("set AP310 FanSpeedLevel L2")}
  else {fhem("set AP310 FanSpeedLevel L1")}
}


Frage: kann $EVENTPART1 als Variable definiert werden? Das hier funktioniert bei mir nicht:
my $Feuchte = Value("HM_3F5A5E:humidity:.*");;

BG, Norbert

space4u

Hi zusammen,
mega Modul, Pluggit AP310 ließ sich ohne Probleme einbinden.

Vielen Dank für die tolle arbeit. :)

DeHit

Hallo zusammen,

vielen Dank für das super Modul. Sogar für mich als FHEM-Neuling einfach zu benutzen. Würde auch gerne die VOC-Daten mit abfragen. Um das Modul anzupassen fehlt mir jedoch leider der Name des Internen-Geräteregisters.

Kannst mir einer den Code nennen oder ein Patch bereitstellen?

Danke und Gruß

DeHit

Selbst ist der Mann! Wer es noch braucht - Hier der Code zum einfügen in das 98_Pluggit-Modul...

    "h430" =>  {  reading => "CurrentVOC",      # name of the reading for this value
                    name    => "prmVOC",               # internal name of this register in the hardware doc
                    min     => 0,                  # input validation for set: min value
                    max     => 65535,                  # input validation for set: max value
                    len     => 2,
                    showget => 1,
                    format  => "%d ppm",
                    set     => 0,                   # this value can not be set
                },


Reload des Moduls nicht vergessen...

Gruß

patman1607

Zitat von: Scheunenwart am 29 April 2016, 20:57:06
Große Klasse für das Modul! Das ging einfacher als gedacht: Datei 98_Pluggit.pm auf dem Server downloaden und im Terminal eingeben:
cd Downloads,
sudo bash
cp 98_Pluggit.pm /opt/fhem/FHEM/98_Pluggit.pm

Dann in der FHEM Weboberfläche
reload 98_Pluggit
define AP310 Pluggit 30 <ip-Adresse im Heimnetz>
define PluggitAventAP310 FileLog ./log/PluggitAventAP310-%Y.log AP310:.*

und dann für den Filelog die relevanten Einträge auswählen, .* abwählen
Create svg Plot anklicken

und schon funktioniert's.

Chapeau an die Ersteller!
Norbert

Hallo und vielen Dank für das Modul.
wie kann dem Filelog sagen was er tracken soll und was nicht?

define PluggitAventAP310 FileLog ./log/PluggitAventAP310-%Y.log AP310:Fan1RPM,Fan2RPM

geht nicht  :o
Fritte 7950
FHEM on RasPi 3

DeHit

Wenn du den Befehl mit .* absetzt trackt er automatisch alles. Du kannst diesen nachträglich über das Menü des Eintrags noch korrigieren und den catch all löschen. Der Vorteil bei diesem Weg ist, dass du die möglichen Einträge per Dropdown-Menü vorgegeben bekommst.

Gruß

christoph_w

Hallo zusammen
endlich hab ich das richtige gefunden. Bin begeistert wie einfach es funktioniert hat. Ein eigenes Modul hätte wohl lange gedauert.
Danke!

Meine Frage: Was ist noch falsch wenn bei den Readings der Temperatur zwischen Wert und °C ein komisches A mit Überstrich angezeigt wird?

christoph_w

Habe jetzt die umlaute als HTML-Code geschrieben und dann sind auch die Kryptischen Zeichen verschwunden.

Aber es ist ein anderes Problem aufgetauch!  :(

die Set Befehle werden ohne Fehler-Rückmeldung ausgeführt aber es passiert nichts außer:
ActivateUnitMode  ändert sich auf 65535
FanSpeedLevel lässt sich ändern aber nur in den Readings am Gerät selber passiert nichts.

habe das Modul ohne Veränderungen eingebunden Temperaturen und so werden ganz normal aktualisiert

define AP310 Pluggit 30 192.168.0.89
attr AP310 userattr stateFormat
attr AP310 group Lüftung
attr AP310 room Lüftung
attr AP310 stateFormat Modus: CurrentUnitMode <br/>L&uuml;;fterstufe: FanSpeedLevel<br/> Au&szlig;;enluft: OutdoorTemperatureT1 <br/> Zuluft: SupplyTemperatureT2 <br/> Abluft: ExtractTemperatureT3 <br/> Fortluft: ExhaustTemperatureT5
define PluggitAventAP310 FileLog ./log/PluggitAventAP310-%Y.log AP310:ActivateUnitMode:.*|AP310:CurrentUnitMode:.*|AP310:ExhaustTemperatureT5:.*|AP310:ExtractTemperatureT3:.*|AP310:FanSpeedLevel:.*|AP310:OutdoorTemperatureT1:.*|AP310:SupplyTemperatureT2:.*

patman1607

Wie ist der Befehl um anstehende Fehler des AP310 zu resetten?
Z.B. wenn die Temperatur nachts unter 5° gehen schaltet die Anlage mit einem Fehler ab. Ich muss dann erst im Keller den Fehler Quitieren.
Wenn ich über Fhem einfach sag " set FanSpeedLevel L3 " passiert nichts.
Fritte 7950
FHEM on RasPi 3

patman1607

Ich habe am Samstag den 22.4.17 um 15:42 den Stecker gezogen von der Lüftungsanlage. Als ich sie am Sonntag wieder ans Netz genommen habe verbindete sich FHEM nicht mehr. Was ist zu tun? Habe auch schon mal Stecker rein > raus wiederholt.
Fritte 7950
FHEM on RasPi 3

pejonp

@patman1607

IP-Adresse überprüft. Verbose = 5 und im Log nachgesehen ob etwas ankommt. Zugriff über Web-Browser auf Anlage möglich ?

pejonp
LaCrossGW 868MHz:WT470+TFA+TX37-IT+EMT7110+W136+WH25A HP1003+WH2621
SignalD(CC1101):Bresser+WS-0101(868MHz WH1080)+Velux KLF200+MAX!+HM-MOD-UART:Smoke HM-SEC-SD+VITOSOLIC 200 RESOL VBUS-LAN+SolarEdge SE5K(Modbus)+Sonnen!eco8(10kWh)+TD3511+DRT710M(Modbus)+ZigBee+Z-Wave+MQTT+vitoconnect

patman1607

IP Adressproblem in der Fritzbox. Funktioniert alles wieder.

andere Sache ist wie kann ich beim SVGPlot die Lüftergeschwindigkeit anzeigen lassen?
Ich habe einen Eintrag derbei Show Preprocessed Input folgendes Anzeigt:
2017-06-07_09:28:25 AP310 FanSpeedLevel: L2
Aber in der Grafik erscheint es nirgends.
Fritte 7950
FHEM on RasPi 3

msfox

Zitat von: Scheunenwart am 14 September 2016, 22:25:16
Lüftungsstufe in svg-Plots anzeigen (AP310):

$fld[3]=~"L0"?0:$fld[3]=~"L1"?1:$fld[3]=~"L3"?3:$fld[3]=~"L4"?4:.5
Erst einmal Lob an das Super Modul. Seit gestern läuft auch meine AP310 via FHEM.

Was muss ich denn mit der Zeile machen, damit das Lüfter-Level richtig geplottet wird?
Folgendes in der .gplot klappt nicht:
#PluggitAventAP310 4:AP310.FanSpeedLevel\x3a::$fld[3]=~"L0"?0:$fld[3]=~"L1"?1:$fld[3]=~"L3"?3:$fld[3]=~"L4"?4:.5

GELÖST:
Der Eintrag im .gplot muss so aussehen

#PluggitAventAP310 4:AP310.FanSpeedLevel\x3a::$fld[3]=~"L0"?0:$fld[3]=~"L1"?1:$fld[3]=~"L2"?2:$fld[3]=~"L3"?3:$fld[3]=~"L4"?4:.5

Vergessen wurde hier im oberen Post "L2". Aktuell läuft die KWL bei mir bei Level 2, daher sah ich immer nix im Plot.

msfox

Zweites Problem:
Vorweg, ich hab die FHEM-Doku (PDF) gelesen, kann aber darin nicht konkret eine Lösung für mein Ziel finden.

Die AP310 listet mir ja diverse Readings aus. Jeden Einzelwert möchte ich nun in FHEMWEB an eine andere Position platzieren.
Gelöst habe ich das ganze über ein Dummy-Device und ein Notity


define dy_AP310_T5 dummy
attr dy_AP310_T5 alias Zuluft
attr dy_AP310_T5 fp_LCARS_KWL 800,1455,0,
attr dy_AP310_T5 room Pluggit
attr dy_AP310_T5 userReadings state { ReadingsVal("AP310","ExhaustTemperatureT5",0) }

define n_AP310_T5 notify AP310:ExhaustTemperatureT5:.* { fhem "set dy_AP310_T5 % %%" }
attr n_AP310_T5 room Pluggit

Gibt es dafür eine elegantere Lösung?

Als drittes möchte ich gern die FanLevel einzeln in FHEMWEB positionieren.
Das müsste über NOTIFY gehen, und ich erstelle für jedes Level eine eigenes Notify-Device?

msfox

Auf https://community.hom.ee/t/pluggit-lueftungsanlage-einbinden/5214 wurde einem User von Pluggit die Schnittstelle mitgeteilt.
Vielleicht hilft es ja, das Modul noch zu optimieren.

Deekay2000

Ich muss den Thread leider nochmal nach vorne holen. Bei mir lässt sich die Lüfterumdrehung über FHEM ändern, nicht jedoch der UnitMode. Hat das sonst noch Jemand?

Viele Grüße
Daniel

Orpheus

Hallo,
Zitat von: Deekay2000 am 17 Juni 2018, 20:47:30
Ich muss den Thread leider nochmal nach vorne holen. Bei mir lässt sich die Lüfterumdrehung über FHEM ändern, nicht jedoch der UnitMode. Hat das sonst noch Jemand?

ja, ich habe das Problem auch. Bin mir aber sicher, dass es schon mal funktioniert hat. Nach einem SD-Card Crash erst mal alles neu installiert, heute, als letztes, das 98_Pluggit.pm, mit der bisherigen Konfiguration. Geht bei mir mit der AP310 auch nicht.

Viele Grüße

Jürgen


Orpheus

Ich habe hier mal die Logausgaben:
2018.07.23 18:12:26 4: WEB_192.168.XXX.XX_58635 POST /fhem?cmd.setAP310%3Dset%20AP310%20ActivateUnitMode%20ManualMode&XHR=1&fw_id=363; BUFLEN:0
2018.07.23 18:12:26 5: Cmd: >set AP310 ActivateUnitMode ManualMode<
2018.07.23 18:12:26 5: AP310: Set called with ActivateUnitMode (h168), setVal = ManualMode
2018.07.23 18:12:26 5: AP310: Set: found ManualMode in map and converted to 262144
2018.07.23 18:12:26 5: AP310: Set: checking value 262144 against min 0
2018.07.23 18:12:26 5: AP310: Set: checking value 262144 against max 4294901760
2018.07.23 18:12:26 5: AP310: set packed hex 323632313434 with N* to hex 00040000
2018.07.23 18:12:26 5: AP310: RevRegs: reversing order of up to 2 registers
2018.07.23 18:12:26 5: AP310: RevRegs: string before is 00040000
2018.07.23 18:12:26 5: AP310: RevRegs: string after  is 00000004
2018.07.23 18:12:26 4: AP310: Send called with h168, objLen 2 / reqLen - to id 1, op write, qlen 0, value hex 00000004
2018.07.23 18:12:26 4: AP310: Send adds fc 16 to 1, tid 120, for h168 (ActivateUnitMode), reqLen 2, value hex 00000004 at beginning of queue for immediate sending
2018.07.23 18:12:26 5: AP310: handle queue check commDelay (0.1) for AP310: rest -25.6753239631653
2018.07.23 18:12:26 5: AP310: handle queue check sendDelay (0.1) for AP310: rest -25.6824600696564
2018.07.23 18:12:26 5: AP310: HandleSendQueue: finished delay checking, proceed with sending
2018.07.23 18:12:26 4: AP310: HandleSendQueue sends fc 16 to id 1, tid 120 for ActivateUnitMode (h168), len 2, device AP310 (TCP), pdu 1000a800020400000004, V 3.7.3 - 22.12.2017
2018.07.23 18:12:26 5: SW: 00780000000b011000a800020400000004
2018.07.23 18:12:26 5: AP310: ReadAnswer called and remaining timeout is 1.9983241558075 requested reading is ActivateUnitMode
2018.07.23 18:12:26 5: AP310: ReadAnswer got: 007800000006011000a80002
2018.07.23 18:12:26 5: AP310: ParseFrames got: 007800000006011000a80002
2018.07.23 18:12:26 4: AP310: ParseFrames got fcode 16 from 1, tid 120, values 00a80002HeaderLen 4, ActualLen 4, request was for h168 (ActivateUnitMode), len 2 for module AP310
2018.07.23 18:12:26 5: AP310: reply to fcode 15 and 16 does not contain values
2018.07.23 18:12:26 5: AP310: ReadAnswer done, reading is ActivateUnitMode
2018.07.23 18:12:26 5: AP310: Set: sending read after write
2018.07.23 18:12:26 4: AP310: Send called with h168, objLen 2 / reqLen - to id 1, op read, qlen 0
2018.07.23 18:12:26 4: AP310: Send adds fc 3 to 1, tid 169, for h168 (ActivateUnitMode), reqLen 2 at beginning of queue for immediate sending
2018.07.23 18:12:26 5: AP310: handle queue check commDelay (0.1) for AP310: rest 0.0901589393615723
2018.07.23 18:12:26 4: AP310: HandleSendQueue / CheckDelay commDelay (0.1) for AP310 not over, sleep 0.0901589393615723 forced
2018.07.23 18:12:26 5: AP310: handle queue check sendDelay (0.1) for AP310: rest 0.0821099281311035
2018.07.23 18:12:26 4: AP310: HandleSendQueue / CheckDelay sendDelay (0.1) for AP310 not over, sleep 0.0821099281311035 forced
2018.07.23 18:12:26 5: AP310: HandleSendQueue: finished delay checking, proceed with sending
2018.07.23 18:12:26 4: AP310: HandleSendQueue sends fc 3 to id 1, tid 169 for ActivateUnitMode (h168), len 2, device AP310 (TCP), pdu 0300a80002, V 3.7.3 - 22.12.2017
2018.07.23 18:12:26 5: SW: 00a900000006010300a80002
2018.07.23 18:12:26 5: AP310: ReadAnswer called and remaining timeout is 1.99841284751892 requested reading is ActivateUnitMode
2018.07.23 18:12:26 5: AP310: ReadAnswer got: 00a900000007010304ffff0000
2018.07.23 18:12:26 5: AP310: ParseFrames got: 00a900000007010304ffff0000
2018.07.23 18:12:26 4: AP310: ParseFrames got fcode 3 from 1, tid 169, values ffff0000HeaderLen 4, ActualLen 4, request was for h168 (ActivateUnitMode), len 2 for module AP310
2018.07.23 18:12:26 5: AP310: ParseObj called with ffff0000 and start 168, op read
2018.07.23 18:12:26 5: AP310: RevRegs: reversing order of up to 2 registers
2018.07.23 18:12:26 5: AP310: RevRegs: string before is ffff0000
2018.07.23 18:12:26 5: AP310: RevRegs: string after  is 0000ffff
2018.07.23 18:12:26 5: AP310: ParseObj ObjInfo for h168: reading=ActivateUnitMode, unpack=N*, expr=, format=, map=131072:DemandMode, 262144:ManualMode, 524288:WeekProgramMode, 1048576:AwayMode, 4194304:FirePlaceMode, 134217728:SummerMode, 8388608:ActivateBypass, 2155872256:DeactivateBypass
2018.07.23 18:12:26 5: AP310: ParseObj unpacked 0000ffff with N* to hex 3635353335 (65535)
2018.07.23 18:12:26 5: AP310: ParseObj for ActivateUnitMode maps value to 65535 with 131072:DemandMode, 262144:ManualMode, 524288:WeekProgramMode, 1048576:AwayMode, 4194304:FirePlaceMode, 134217728:SummerMode, 8388608:ActivateBypass, 2155872256:DeactivateBypass
2018.07.23 18:12:26 4: AP310: ParseObj for ActivateUnitMode assigns 65535
2018.07.23 18:12:26 5: Starting notify loop for AP310, 1 event(s), first is ActivateUnitMode: 65535
2018.07.23 18:12:26 5: End notify loop for AP310
2018.07.23 18:12:26 5: AP310: ParseFrames got 1 readings from ParseObj
2018.07.23 18:12:26 5: AP310: ReadAnswer done, reading is ActivateUnitMode, value: 65535
2018.07.23 18:12:26 4: WEB: /fhem?cmd.setAP310%3Dset%20AP310%20ActivateUnitMode%20ManualMode&XHR=1&fw_id=363 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip


Gruß Jürgen

addooo

Zitat von: DocGreen am 01 April 2016, 09:34:13
Hallo,

melde Erfolg!
Meine AP310 lies sich sofort einbinden.
define AP310 Pluggit 30 xxx.xxx.xxx.xxx

Das Schalten einzelner Befehle klappt auch super. Werde mir jetzt Möglichkeiten für weitere Automation suchen.
Perfekt wäre jetzt eine Integration in die MobileApps, damit man nicht mehr die nervige Pluggit App selbst braucht.

Vielen Dank für das Plugin,

Björn


Das Modul funktioniert leider nicht bei mir :(

Der State bleibt disconnected ...hat wer noch eine Idee ?
Muss die FritzBox noch konfiguriert oder die Pluggit angefasst werden ?

Mit welchem Namen meldet sich die AP310 bei euch bei der FritzBox ?

Gruß

addo

Orpheus

Hallo,
der Sommer hat ein Ende und ich komme mal wieder zu wichtigen Dingen  ;)
Zitat von: Orpheus am 23 Juli 2018, 18:21:52
Ich habe hier mal die Logausgaben:
2018.07.23 18:12:26 4: WEB_192.168.XXX.XX_58635 POST
..
2018.07.23 18:12:26 5: AP310: ParseObj unpacked 0000ffff with N* to hex 3635353335 (65535)
2018.07.23 18:12:26 5: AP310: ParseObj for ActivateUnitMode maps value to 65535 with 131072:DemandMode, 262144:ManualMode, 524288:WeekProgramMode, 1048576:AwayMode, 4194304:FirePlaceMode, 134217728:SummerMode, 2018.07.23 18:12:26 4: AP310: ParseObj for ActivateUnitMode assigns 65535
2018.07.23 18:12:26 5: Starting notify loop for AP310, 1 event(s), first is ActivateUnitMode: 65535
2018.07.23 18:12:26 5: AP310: ReadAnswer done, reading is ActivateUnitMode, value: 65535



Egal was ich bei ActivateUnitMode setze, es wird immer der Value 65535 oder Value 8 gesetzt. 65535 ist das Maximum unsigned short.
Kann es sein, das bei der Ganzen Bitschieberei eine Grenze des verwendeten Zahlentyps überschritten wird?
Mit ist klar, das sich die Lüftunganlagen Betrieber in diesem Forum in Grenzen halten, aber vielleicht hat doch einer eine Idee.

Viele Grüße
Jürgen

Orpheus

Zitat von: addooo am 30 August 2018, 02:16:41

Das Modul funktioniert leider nicht bei mir :(

Der State bleibt disconnected ...hat wer noch eine Idee ?
Muss die FritzBox noch konfiguriert oder die Pluggit angefasst werden ?

Mit welchem Namen meldet sich die AP310 bei euch bei der FritzBox ?

Gruß

addo

Die Pluggit taucht immer als ungenutzte Verbindung auf. Mit "PC-IP Adresse", z.B. "PC-192-168-172-1".
Wenn Du mehrere derartige Einträge hast und nicht zuordnen kannst, nimm das Pluggit I-Flow Tool (auf der Downloadseite von Pluggit). Dort kannst Du die IP Adresse ermitteln bzw. sogar ändern, bzgl. Kennwörter einfach googeln.

Gruß Jürgen


Orpheus

#30
Hallo,
Matthias (mkunst) hat es mit der Bitschieberrei und -tauscherrei etwas übertrieben (nicht böse gemeint, passiert uns Entwicklern ja immer wieder mal), vielleicht hat der Raspy und die Test Hardware auch unterschiedliche Byte Reihenfolge oder in 98_Modbus.pm hat sich was geändert.

In der 98_Pluggit.pm in der Struktur (h168) die auskommentierte Zeile durch die nachfolgende ersetzen.

#map     => "131072:DemandMode, 262144:ManualMode, 524288:WeekProgramMode, 1048576:AwayMode, 4194304:FirePlaceMode, 134217728:SummerMode, 8388608:ActivateBypass, 2155872256:DeactivateBypass",
map     => "2:DemandMode, 4:ManualMode, 8:WeekProgramMode, 16:StartAwayMode, 32784:EndAwayMode, 64:StartFirePlaceMode, 32832:EndFirePlaceMode, 2048:StartSummerMode, 34816:EndSummerMode, 128:ActivateBypass, 32896:DeactivateBypass", 


Die Begriffe können frei gewählt werden. "ActivateBypass" ist der manuelle Bypass Modus, kann also auch
"ActivateManualeBypassMode" oder "AktiviereManuellenBypassModus" genannt werden.

Viele Grüße

Jürgen






DerKoerper

Moin,

ich nutze das Plugin nun schon eine Weile mit meiner AD160 Lüftung und es läuft auch ordentlich - aber seit einiger Zeit spamt es mir den Log zu:


2018.12.01 05:17:56 3: AD160: MapConvert called from ModbusLD_ParseObj did not find 0 in map 1:Reset
2018.12.01 05:18:26 3: AD160: MapConvert called from ModbusLD_ParseObj did not find 0 in map 1:Reset
2018.12.01 05:18:57 3: AD160: MapConvert called from ModbusLD_ParseObj did not find 0 in map 1:Reset
2018.12.01 05:19:27 3: AD160: MapConvert called from ModbusLD_ParseObj did not find 0 in map 1:Reset
2018.12.01 05:19:56 3: AD160: MapConvert called from ModbusLD_ParseObj did not find 0 in map 1:Reset
[....]

Es scheint bei jeder Kommunikation mit der Lüftung zu dem Fehler zu kommmen.
Es funktioniert allerdings alles - hat jemand eine Idee wo das Problem liegen könnte? Bzw. bin ich der einzige mit dem Problem?+

Grüße & schöne Weihnachtsfeiertage!
Richard
FHEM aufm Cubietruck (armbian inkl. Samba, DHCP, DNS & VPN) für eine Wohnung.
1x CUL für WMBUS, 1x nanoCUL für MAX

Kaum Ahnung... aber hartnäckig!

yoshy

Hi,

deine Frage ist zwar schon ein paar Tage her, aber bei mir tauchte das gleiche Problem auf. Meine Lösung war folgende einfach beim FilterReset einen Zusätzliches Mapping hinzuzufügen (0:Weiter):

   
"h558" =>  {  reading => "ResetFilterLifetime",         # name of the reading for this value
                    name    => "prmFilterReset",               # internal name of this register in the hardware doc
                    min     => 0,                  # input validation for set: min value
                    max     => 1,                  # input validation for set: max value
                    len     => 2,
                    showget => 0,
                    map     => "0:Weiter, 1:Reset",
                    set     => 1,                   # this value can be set
                },


Hoffe es hilft weiter...

DerKoerper

Cool danke, hatte zwischenzeitlich das Verbose level hochgesetzt, dann kam nix mehr (die Fehlermeldung war glaube ich verbose Lv 3).

ich probiere deine Lösung auf jeden Fall trotzdem aus.

Grüße
Richard
FHEM aufm Cubietruck (armbian inkl. Samba, DHCP, DNS & VPN) für eine Wohnung.
1x CUL für WMBUS, 1x nanoCUL für MAX

Kaum Ahnung... aber hartnäckig!

DerStefan

Ich hole das Thema jetzt noch mal hoch.
Keine Ahnung, ob das Modul noch jemand nutzt oder ob es schon etwas besseres/anderes gibt.

Mir ist vorhin nur ein kleiner Fehler aufgefallen.
CurrentUnitMode hatte den Wert 15 statt Defrost.

Semikolon statt Doppelpunkt in der Sektion "h472"


map     => "0:Standby, 1:ManualMode, 2:DemandMode, 3:WeekProgramMode, 4:Servoflow, 5:AwayMode, 6:SummerMode, 7:DIOverride, 8:HygrostatOverride, 9:FireplaceBoostMode, 10:InstallerMode, 11:FailSafe, 12:FailSafe2, 13:FailOff, 14;DefrostOff, 15:Defrost, 16:Night Mode",


sollte durch

map     => "0:Standby, 1:ManualMode, 2:DemandMode, 3:WeekProgramMode, 4:Servoflow, 5:AwayMode, 6:SummerMode, 7:DIOverride, 8:HygrostatOverride, 9:FireplaceBoostMode, 10:InstallerMode, 11:FailSafe, 12:FailSafe2, 13:FailOff, 14:DefrostOff, 15:Defrost, 16:Night Mode",


ersetzt werden.

Vielleicht hilft es ja jemandem.