+ Antworten
Ergebnis 1 bis 5 von 5
  1. #1
    Registriert seit
    Mar 2012
    Ort
    Machern/Sachsen
    Beiträge
    345

    Standard SetValueInteger mittels zugeordneten Text möglich ?

    Hallo Gemeinde,

    ist es möglich eine Integervariable auch anhand des zugeordneten Textes, also der Beschreibung zu setzen ?

    Zum Beispiel beim Setzen von "Arbeitszimmer" wird auf Wert 2 umgeschaltet:

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	SetValueInteger.JPG 
Hits:	126 
Größe:	89.2 KB 
ID:	52563

    Gruß André
    Geändert von DigiHouse (07.02.20 um 22:41 Uhr)

  2. #2
    Registriert seit
    Nov 2009
    Ort
    Essen
    Beiträge
    2,202

    Ja, das ist möglich. Genau das ist der Sinn und Zweck von Variablenprofil. Der Variablen ggf. noch ein passendes ActionSkript zuweisen - fertig.
    Deutschlandweite Dienstleistungen rund um und mit IP-Symcon. Systemintegrator im Bereich KNX. ekey Partner. Infos unter https://schrader-it.net

  3. #3
    Registriert seit
    Feb 2017
    Beiträge
    1,648

    Das ist so leider nicht korrekt. Via Skript ist eine solche Zuweisung nicht einfach möglich. Du müsstest hierfür das Profil auslesen und die Werte bestimmen. Was ist dein Anwendungsfall, dass du das in einem Skript machen möchtest? Denn nach den dargestellten Texten zu gehen ist häufig eher unglücklich. Änderst du beispielsweise später Wohnzimmer zu Stube, weil dir das besser gefällt, funktionieren deine Skripte nicht mehr. Die 2 wäre allerdings weiterhin aktuell.

  4. #4
    Registriert seit
    Nov 2009
    Ort
    Essen
    Beiträge
    2,202

    Dann habe ich nicht verstanden, was das Ziel sein soll.
    Deutschlandweite Dienstleistungen rund um und mit IP-Symcon. Systemintegrator im Bereich KNX. ekey Partner. Infos unter https://schrader-it.net

  5. #5
    Registriert seit
    Mar 2012
    Ort
    Machern/Sachsen
    Beiträge
    345

    @ DerStandart

    Tja, das ist mir schon klar. Das wollte ich jedoch umgehen. Es ist das Wochenplanscript von Pitty, welches ich zunächst per SwitchPage anzeige und nun einen vorgewählten Raum gleich anzeigen lasse:

    Heizkörperthermostat Heizprogramme per WebFront einstellen - Seite 56

    @ Dr. Niels

    Genau so habe ich es gemacht. Variablenprofil auslesen, Assoziationen durchsehen und entsprechend ansprechen.

    Das Snippet:

    PHP-Code:
    <?

    // WebFront Page switchen //
    WFC_SwitchPage(47627"Wochenplan");

    // Zimmer umschalten //
    $Zimmer $_GET["daten"];

    // ObjectID von ROOT/Heizung ermitteln
    $ObjektID_Heizung = @IPS_GetObjectIDByName("Heizung"0);
    // ObjectID von ROOT/Heizung/Wochenplan ermitteln
    $ObjektID_Wochenplan = @IPS_GetObjectIDByName("Wochenplan"$ObjektID_Heizung);
    // ObjectID von ROOT/Heizung/Wochenplan/Wochenprogramm ermitteln
    $ObjektID_Wochenprogramm = @IPS_GetObjectIDByName("Wochenprogramm"$ObjektID_Wochenplan);

    // ObjectID von ROOT/Heizung/Wochenplan/Wochenprogramm/Zimmer ermitteln
    $ObjektID_Zimmer = @IPS_GetObjectIDByName("Zimmer"$ObjektID_Wochenprogramm);

    // ObjectID von ROOT/Heizung/Wochenplan/Wochenprogramm/Profil ermitteln
    $ObjektID_Profil = @IPS_GetObjectIDByName("Profil"$ObjektID_Wochenprogramm);

    // Variablenprofil von Zimmer holen
    $Zimmer_Profil IPS_GetVariable($ObjektID_Zimmer)["VariableCustomProfile"];
    $Zimmer_Associations  IPS_GetVariableProfile($Zimmer_Profil)["Associations"];

    foreach(
    $Zimmer_Associations as $Zimmer_Association)
        {                                                                             
        
    // Namen korrigieren 
        
    $Name str_replace(array(" ""[""]"), array("_""_"""), $Zimmer_Association["Name"]);
        
        echo(
    "Name: $Name");
        
        if(
    $Zimmer == $Name)
            {
            
    SetValue($ObjektID_Zimmer$Zimmer_Association["Value"]);
            }
        }

    // Profil auslesen aktivieren
    SetValue($ObjektID_Profil0);

    ?>
    Die Integervariable lasse ich mir automatisch erstellen, indem alle Thermostate, die bei mir unter Hardware liegen, mit Namen ausgelesen werden. Daran wird sich nichts so schnell ändern.

    Übergeben wird mi ein Raum aus dem Webfront, wenn ich direkt auf einen Heizkörper klicke (s.u.)

    Ich habe nur noch nicht gefunden, wie ich gleich das Auslesen triggern kann. Der letzte Aufruf schaltet nur die Anzeige, ruft aber die Aktion (noch) nicht aus. Ich wollte das Originalscript nur marginal ändern, wo ich meine Thermostate eingebunden habe ...

    Da vielleicht Ideen ?

    Gruß André

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	WF.jpg 
Hits:	30 
Größe:	199.6 KB 
ID:	52595

Ähnliche Themen

  1. Leckagenmelder mittels Drucksensor
    Von dtm im Forum Haustechnik
    Antworten: 19
    Letzter Beitrag: 17.03.16, 18:48
  2. SetValueInteger ist weg !?
    Von tomgr im Forum Allgemeine Diskussion
    Antworten: 15
    Letzter Beitrag: 26.04.15, 06:46
  3. Kategorie wechseln mittels Script
    Von AEAlexander im Forum WebFront
    Antworten: 3
    Letzter Beitrag: 07.07.12, 08:53
  4. Heizungsüberwachung mittels 1-Wire
    Von n4p im Forum 1-Wire, M-BUS
    Antworten: 3
    Letzter Beitrag: 06.11.08, 20:55
  5. Ping mittels PHP ?
    Von helitron im Forum Allgemeine Diskussion
    Antworten: 11
    Letzter Beitrag: 08.06.05, 21:46