Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[GELÖST] Pluggit automatisch regeln via Logik
#7
(08.05.2018, 16:03)Hammalui schrieb: Hallo Alkahna, diese Regelung habe ich bei mir schon umgesetzt.

Du musst im Startfenster unter Einstellungen (Zahnrad) gehen. Dann auf Register Wetterstation. Im Register Temperatur gibt es das Feld "Aussentemperatur von". Dort "von Lüftungsanlage" auswählen. Dann wird allerdings auch im Startfenster die Außentemperatur von der Lüftungsanlage genommen.

Wie schon beschrieben kannst du dann die Außentemperatur in die Logik einbringen.

Das ist clever  Wink 
Leider löst das mein Problem nur zu 50%, da ich die Anlage auch automatisch wieder starten will, wenn die [Außentemperatur] < [Innentemperatur] ist.
Aber immerhin schonmal ein Anfang  Shy 

(08.05.2018, 16:03)Hammalui schrieb: Bei mir ist allerdings das Problem, dass die Aktion ausgeführt wird, die Lüftung (von Pluggit) ausgeht, aber nach einer dreiviertel Stunde wieder an geht. Dann aber auf Stufe 3. Kannst dass ja mal bei dir probieren. Wenn es besser klappt, gerne mir mal Bescheid geben, damit ich mein Problem im Griff bekomme. 

Das Problem habe ich bereits gelöst  Big Grin 

Hierfür musst du mit der Pluggit iFlow Anwendung (Link für AP190/310/460; AD160) als Admin in die Einstellungen deiner Pluggit Anlage gehen.
Sofern keiner bei dir in der Anlage Passwörter geändert hat sollten diese Standard-Passwörter bei dir funktionieren:

Benutzer: *leer*
Installateur: 1234
Admin: DAH1234

Die Einstellungen findest du im Punkt "Einstellungen" -> "Ventilatorenstufen".
[Bild: pluggit-avent-ventilatorstufen.jpg]

Die Logik für Stufe 0 ist (zumindest meiner Meinung nach) folgende:
Setze Lüftung auf Stufe [AUTO SETBACK] nach [ARBEITSZYKLUS] Minuten. Ist ja nicht viel/besonders Kompliziert was man hier einstellen kann.

Hier kann man bestimmt einige "Quality of Life" Verbesserungen für die Lüftung vornehmen  Big Grin 


EDIT:

(09.05.2018, 09:33)Bluescreen schrieb: Wäre einen Versuch wert, allerdings sollte man die Lüftungsanlage ja nicht unbedingt komplett abschalten...

Das stimmt wohl, habe ich auch irgendwo gehört. Also scheint die Idee mit der "Endlosschleife" eine gute Alternative zu sein (alle 60 Min kurz auf 1 anschalten und dann direkt wieder auf 0)
Wobei hier ja fast der gleiche Effekt erzielt wird mit der Ausnahme, dass die Ventilatoren mal kurz anlaufen.

Weiß jemand warum genau man die Anlange nicht komplett abschalten soll??


Die Standard-Passwörter habe ich übrigend von folgender Seite: http://www.msxfaq.de/tools/prtg/prtg-pluggit.htm (also an dieser Stelle ein Danke an den Autor)

Dort habe ich auch ein Powershell-Script gefunden und für meine Zwecke etwas reduziert. Es war zum automatisieren loggen von Parametern gedacht.
Ich habe es so weit reduziert, dass ich mir einfach nur bestimmte Werte in der Powershell ausgeben lasse. Was ich damit anstelle weiß ich noch nicht, aber es landet erstmal im Ordner Pluggit mit allen wichtigen Infos zur Anlage selber.

Bei Interesse folgenden Code als Powershell-Script (Dateiendung .ps1) ausführen:

Code:
# Script: Pluggit Werte auslesen

# Code als .ps1 Datei speichern
# Ausführen via: PS C:\Users\Admin\Desktop> & '.\Pluggit-Script.ps1'

# WICHTIG: Es kann sein das dieser Befehl nötig ist, um das Script zu starten !!!!
# Vor Ausführung: Set-ExecutionPolicy Unrestricted

# WICHTIG: Änderung nach Ausführung wieder Rückgängig machen, zwecks Sicherheit !!!!
# Nach Ausführung: Set-ExecutionPolicy restricted

# Zur Einfacheren Bedienung kann folgender Befehl verwendet werden:
#     powershell.exe -executionpolicy Unrestricted
# Dies ruft eine neue Powershell-Session auf, in welcher die ExecutionPolicy angepasst wurde.
# Vorteil, diese Ausnahme gilt nur für diese laufende Session und nicht für alle laufende Sessions und
# muss daher beim Beenden der Session nicht wieder zurück gesetzt werden.


param( 
    # IP DER PLUGGIT HIER EINTRAGEN
    [string] $remoteHost = "192.168.X.X", 
    [int]$port = 502


# set-psdebug -strict   # enforce strict variable checking

function modbusread ([string]$remoteHost, [int]$port, [int]$startaddress,[int]$bytecount,[string]$targetformat,[string]$flipoption) {

    #write-host "prtg-pluggit: Prepare request" 
    [byte[]]$sendbuffer=00,110  # Transaction Identifier
    $sendbuffer+=00,00            #Protocol identifier
    $sendbuffer+=00,06            #Length
    $sendbuffer+=00                #Unit ID
    $sendbuffer+=03                #Function Read Holding Registers
    $sendbuffer+=[byte]([math]::Truncate(($startaddress -40001)/256)),([system.byte](($startaddress -40001)%256))        #Data of first register   40133-40001 = 132
    $sendbuffer+=00,($bytecount)
    #write-host "prtg-pluggit: Send request" 
    $tcpclient = new-object System.Net.Sockets.TcpClient($remoteHost, $port) 
    $netStream  = $tcpclient.GetStream() 
    $netStream.write($sendbuffer,0,$sendbuffer.length)
    start-sleep -milliseconds 50
    #write-host "prtg-pluggit: prepare Read of @($startaddress -40001) bytes" 
    [byte[]]$recbuffer = new-object System.Byte[] ([int]($bytecount+9))  # +8 für ModbusTCP Header
    #write-host "prtg-pluggit: Reading socket" 
    $receivedbytes = $netStream.Read($recbuffer, 0, [int]($bytecount+9));
    #write-host "prtg-pluggit: Received Byes: $receivedbytes "
    $tcpclient.Close() 
    $netStream.Close() 
    $resultdata = $recbuffer[9..($recbuffer[8]+8)]

    if (($flipoption.tolower() -eq "reverse") -or ($flipoption.tolower() -eq "both")) {
        [array]::reverse($resultdata)
    }
    if (($resultdata.length%2 -eq 0)  `
        -and (($flipoption.tolower() -eq "flip")  `
            -or ($flipoption.tolower() -eq "both"))) {
        $resultdataflip = $resultdata.clone()
        # flip bytes für some actions
        for ($count=0; $count -lt $resultdata.length ;$count+=2) {
            $resultdataflip[$count] = $resultdata[$count+1]
            $resultdataflip[$count+1] = $resultdata[$count]
        }
        $resultdata = $resultdataflip
    }
    #write-host "  Convertto" $targetformat.tolower()
    switch ($targetformat.tolower()) {
        "uint16"    {[bitconverter]::ToUInt16($resultdata,0)}
        "int16"        {[bitconverter]::ToInt16($resultdata,0)}
        "uint32"    {[bitconverter]::ToUInt32($resultdata,0)}
        "int32"        {[bitconverter]::ToInt32($resultdata,0)}
        "uint64"    {[bitconverter]::ToUInt64($resultdata,0)}
        "int64"        {[bitconverter]::ToInt64($resultdata,0)}
        "float"        {[Math]::Round(([BitConverter]::ToSingle(($resultdata[1],$resultdata[0],$resultdata[3],$resultdata[2]),0)),1)}
        "float2"    {[Math]::Round(([BitConverter]::ToSingle($resultdataflip,0)),1)}
        "time"      {(get-date "1970-01-01 00:00:00").addseconds([bitconverter]::ToUInt32($resultdata,0))}
        "string"    {[System.Text.Encoding]::ASCII.GetString($resultdata)}
        default {$resultdata}
    }
}



write-host "Pluggit Werte: Start Script" 

write-host "#################################"
write-host "Aussenluft: " (modbusread $remoteHost $port 40133 4 float) "°C"
write-host "Zuluft Raum: " (modbusread $remoteHost $port 40135 4 float) "°C"
write-host "Abluft Raum: " (modbusread $remoteHost $port 40137 4 float) "°C"
write-host "Fortluft nach aussen: " (modbusread $remoteHost $port 40139 4 float) "°C"
write-host "Lüfterstufe: " (modbusread $remoteHost $port 40325 4 uint32 flip)
write-host "Fan1 RPM: " (modbusread $remoteHost $port 40101 4 float)
write-host "Fan2 RPM: " (modbusread $remoteHost $port 40103 4 float)
write-host "Modus: " (modbusread $remoteHost $port 40473 4 uint32 flip)
write-host "Filter-Tage übrig: " (modbusread $remoteHost $port 40555 4 uint32 flip) "Tage"
write-host "Letzter Alarm: " (modbusread $remoteHost $port 40517 4 uint32 flip)
write-host "#################################"


(08.05.2018, 16:03)Hammalui schrieb: Die Regelung der Lüftungsanlage selbst kannst du nur über Aktionen und Merker verwirklichen.

Meinst du damit das Setzen der Stufe in der Logik?

Hoffe ich konnte dir bei deinem Problem helfen  Smile 
Vllt. findet sich zu meinem Problem auch noch eine Lösung ohne die Außentemperatur der Gekko generell auf die Pluggit als Quelle umzustellen (Nachteil: Wenn die Pluggit die Temperatur misst, ist diese ja bereits erwärmt und bei ausgeschalteter Anlage stellt die Temperatur ja die Temperatur des Kellerraums dar)

Grüße
Alkahna
  • myGEKKO Slide V4725-02
  • 1x RIO 16
  • Pluggit Avent P310


Nachrichten in diesem Thema
RE: Pluggit automatisch regeln via Logik - von Alkahna - 09.05.2018, 10:19

Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  [GELÖST] Problem mit Logik (Temp1 > Temp2 -> Gatter setzen) Alkahna 5 10.967 09.05.2018, 16:43
Letzter Beitrag: Hammalui

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste