+ Antworten
Ergebnis 1 bis 7 von 7
  1. #1
    Registriert seit
    Sep 2009
    Ort
    Österreich, Kärnten
    Beiträge
    112

    Post HC_GetTransmitDevices

    Hallo!

    Seit meinem Update auf 3.30 funktioniert mein Heizungswerte einstellen Skript nicht mehr!!

    Kann mir bei dem Problem jemand helfen?


    PHP-Code:
    <?
    setvalue
    ($IPS_VARIABLE,$IPS_VALUE);       // Wert durch Webfront verändern

    $Objekt IPS_GetObject($IPS_VARIABLE);   
     
    $parent $Objekt["ParentID"];           // Parrent ID ermitteln
         
    $Objekt1 IPS_GetChildrenIDs($parent);  // Kinder von Parrent ID ermitteln
         
    $Stellrad=0;                       // Wert auf 0 setzen für spätere abfrage
         
    foreach ($Objekt1 as $value) {
        
    $objektname=IPS_GetName($value);
     if (
    $objektname=="Nachtabsenkung aktiv") { $Nachtabsenkung=$value;}  //ID der Nachtabsenkung ermitteln
     
    if ($objektname=="Tagestemp") { $Tagestemp=$value;}  // ID der Tagestemp ermitteln
     
    if ($objektname=="Nachttemp") { $Nachttemp=$value;}   // ID der Nachttemp ermitteln
     
    if ($objektname=="Betriebsart") { $Betriebsart=$value;}   // ID der Betriebsart ermitteln
     
    if ($objektname=="Handbetrieb") { $Handbetrieb=$value;}   // ID der Handbetrieb ermitteln
     
    if ($objektname=="Stellrad") { $Stellrad=($value);}   // ID der Stellrad ermitteln
    }

    if (
    $Stellrad==0)                                  // Stellrad wert abfragen bzw auf 0 setzen
                    
    {$Abweichung=0;
                    }
        else
                     {
    $Abweichung =getvalue($Stellrad);
                     }

    $Status_Nacht=getvalue($Nachtabsenkung);         // Status von TAG Nacht Betrieb ermitteln

    $AktorenHC_GetTransmitDevices($parent);      // ID des Schaltaktors ermitteln
    $Aktor=$Aktoren[0];
    $Schaltaktor=$Aktor["DeviceID"];

    if ((
    $IPS_VARIABLE==$Tagestemp) and !$Status_Nacht// Bei Tagesprogramm Temperatur an Heating Controll senden
            
    {$Sollwert=$Abweichung+$IPS_VALUE;
            
    HC_TargetValue($parent$Sollwert);
                    }

    if ((
    $IPS_VARIABLE==$Nachttemp) and $Status_Nacht// Bei Nachtprogramm Temperatur an Heating Controll senden
            
    {$Sollwert=$Abweichung+$IPS_VALUE;
            
    HC_TargetValue($parent$Sollwert);
            }
            

    if (
    $IPS_VARIABLE == $Betriebsart) {                                       //Auswahl Autmatikbetrieb usw
        
    switch ($IPS_VALUE) {
        case 
    0setvalue($Handbetrieb,false);MXC_SwitchMode($Schaltaktor,false); break;
        case 
    1setvalue($Handbetrieb,true); IPS_Sleep(500); MXC_SwitchMode($Schaltaktor,true); break;
        case 
    2setvalue($Handbetrieb,true); MXC_SwitchMode($Schaltaktor,false); break;
        }
        }

    ?>
    LG
    Manza

  2. #2
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,304

    Abend!

    Ich sehe z.B. einige veraltete Systemvariablen...
    >> Systemvariablen — IP-Symcon :: Automatisierungssoftware

    ALT:
    $IPS_VALUE

    NEU:
    $_IPS['VALUE']



    Und geht dieser Befehl, wenn du den einzeln in einem Test-Skript ausprobierst?
    > HC_GetTransmitDevices (wird mit Strg + Leertaste nicht aufgelistet)
    ...alles andere sieht gut bzw. mir bekannt aus...


    Welche Fehler kommen denn bei deinem Skript?

    Grüße,
    Chris
    Geändert von Bayaro (14.03.15 um 22:03 Uhr)
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  3. #3
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,423

    Es ist das 'Übliche'.
    GetTransmitDevice ist eine Funktion zum lesen der Konfiguration des HC.
    Also zu ersetzen durch :
    IPS_GetProperty — IP-Symcon :: Automatisierungssoftware
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC

  4. #4
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    21,875

    Magst du es mal mit der 3.4 Beta gegentesten?

    paresy

  5. #5
    Registriert seit
    Sep 2009
    Ort
    Österreich, Kärnten
    Beiträge
    112

    Standard HC_GetTransmitDevices

    Hallo!

    Geht mit der Beta auch nicht.
    Bei Temperaturverstellung am Heizregler kommt jetzt ne neue Fehlermeldung..

    Name:  Screenshot 2015-03-15 09.13.14.png
Hits: 77
Größe:  186.2 KB

  6. #6
    Registriert seit
    Sep 2009
    Ort
    Österreich, Kärnten
    Beiträge
    112

    Standard Eigenschaft

    PHP-Code:
    variant IPS_GetProperty integer $InstanzIDstring $Eigenschaft 
    Muss ich für die Eigenschaft was eintragen?

    Ich will ja nur die ID ermitteln, die Eigenschaft brauch ich ja nicht; oder denke ich wieder falsch?

    LG
    Manfred

  7. #7
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    9,423

    Die Auflistung hier sagt: IPS_SetProperty — IP-Symcon :: Automatisierungssoftware

    TransmitDevices ist die Eigenschaft welche du eintragen musst.
    Michael
    on Win7VM (ESXi): I5, 24GB RAM, HW-RAID5, 3xSat | HW: CCU + 123 Geräte (506ch), EM1000, CUL, 1Wire, XBee, ELRO 433MHz, FritzBox Cable, Android Phone + Tablet, Samsung C-Serie TV +SamyGo-Ext, Onkyo NR| SW: IPS, Apache2(mod_ssl/PHP), MySQL, hMailServer, PRTG, Rising AV, Piwik, RoundCube, Wordpress, WinLIRC, WHS2011, MediaPortal, XBMC