Autor Thema: Neues Modul für Pluggit Avent Lüftungsanlagen (AP190,AP310,AP460) mit Modbus TCP  (Gelesen 5680 mal)

Offline mkunst

  • New Member
  • *
  • Beiträge: 6
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
« Letzte Änderung: 03 April 2016, 14:35:14 von mkunst »

Offline DocGreen

  • New Member
  • *
  • Beiträge: 10
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

Offline mkunst

  • New Member
  • *
  • Beiträge: 6
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

Offline DocGreen

  • New Member
  • *
  • Beiträge: 10
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

Offline mkunst

  • New Member
  • *
  • Beiträge: 6
Hi,

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

Gruß
Matthias

Offline Scheunenwart

  • New Member
  • *
  • Beiträge: 3
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

Offline jguelle

  • Newbie
  • Beiträge: 1
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


Offline mkunst

  • New Member
  • *
  • Beiträge: 6
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

Offline Scheunenwart

  • New Member
  • *
  • Beiträge: 3
Lüftungsstufe in svg-Plots anzeigen (AP310):

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

Offline Scheunenwart

  • New Member
  • *
  • Beiträge: 3
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

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

Vielen Dank für die tolle arbeit. :)

Offline DeHit

  • New Member
  • *
  • Beiträge: 3
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ß

Offline DeHit

  • New Member
  • *
  • Beiträge: 3
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ß

Offline patman1607

  • New Member
  • *
  • Beiträge: 19
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

Offline DeHit

  • New Member
  • *
  • Beiträge: 3
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ß

Offline christoph_w

  • New Member
  • *
  • Beiträge: 3
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?

Offline christoph_w

  • New Member
  • *
  • Beiträge: 3
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:.*

Offline patman1607

  • New Member
  • *
  • Beiträge: 19
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

Offline patman1607

  • New Member
  • *
  • Beiträge: 19
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

Offline pejonp

  • Sr. Member
  • ****
  • Beiträge: 830
@patman1607

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

pejonp
JeeLink (RFM69CW) LGW 868MHz:WT470+TFA+TX37-IT+EMT7110+FS20+W136+WH25A HP1003+WH2621
SignalDuino(CC1101):Bresser+WS-0101(868MHz WH1080)
MAX!:HM-MOD-UART:Rauchmelder HM-SEC-SD
VITOSOLIC 200 + RESOL VBUS-LAN
SolarEdge SE5K(TCP 24 RS485)+Sonnenbatterie ComfortS(Vera3)+TD3511+DRT710M(RS485)

Offline patman1607

  • New Member
  • *
  • Beiträge: 19
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

Offline msfox

  • Jr. Member
  • **
  • Beiträge: 74
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.
« Letzte Änderung: 27 September 2017, 15:45:15 von msfox »

Offline msfox

  • Jr. Member
  • **
  • Beiträge: 74
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?
« Letzte Änderung: 27 September 2017, 15:43:17 von msfox »

Offline msfox

  • Jr. Member
  • **
  • Beiträge: 74
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.

Offline Deekay2000

  • New Member
  • *
  • Beiträge: 5
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

Offline Orpheus

  • New Member
  • *
  • Beiträge: 24
Hallo,
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

« Letzte Änderung: 23 Juli 2018, 17:57:28 von Orpheus »

Offline Orpheus

  • New Member
  • *
  • Beiträge: 24
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

Offline addooo

  • New Member
  • *
  • Beiträge: 3
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

 

decade-submarginal