+ Antworten
Seite 2 von 32 ErsteErste 1 2 3 4 12 ... LetzteLetzte
Ergebnis 11 bis 20 von 315
  1. #11
    Registriert seit
    Jan 2011
    Ort
    Wuppertal
    Beiträge
    135

    Danke Uwe,

    wieder schlauer geworden. Hab noch immer keine Homematic Geräte, Dein ehemaliger Gateway dient nur der Zierde. Dann will ich nichts gesagt haben.

    Noch 'ne Frage. Die Temperatur wird angesagt als "Zwanzig-Punkt-Neunzehn Grad", im Objektbaum und im WF steht aber "20,2", woher kommt das?
    Gruß, Marcus
    IPS 3.4 auf HP Proliant Microserver/Windows Small Business Server 2011, EIB, Squeezebox Server + Squeezebox Radio, EIB-Gateway auf Raspberry mit Buskopplung von SelfBus
    Elektrofachkraft nach DIN VDE 1000-10

  2. #12
    Registriert seit
    Jul 2005
    Ort
    Schwanewede/Niedersachsen
    Beiträge
    1,808

    Hallo Thiemo,

    ist Super, die Temperatur bekomme ich schon angesagt, aber ich bekomme es nicht hin das Licht zu schalten.

    Ich habe FS20 und HM, aber egal welche Variabler ich angebe, entweder kommt Variable existiert nicht oder nur als lesen markiert.

    Kannst Du mir da noch einen Tip geben?
    Gruss
    Horst

    IP-Symcon 5.0 IPS-868, FS20, HM, HUE, Plugwise

  3. #13
    Registriert seit
    Jan 2011
    Ort
    Wuppertal
    Beiträge
    135

    Hallo Horst,

    ich habe das mit einer Hilfsvariablen gemacht:


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

Name:	ViceBastel.JPG 
Hits:	368 
Größe:	74.6 KB 
ID:	27328

    Die Scripte Schalten die übergeordneten Instanzen wenn die Hilfsvariable geschaltet wird. Die Ereignisse unter den eigentlichen Variablen schalten die Hilfsvariablen, damit Änderungen im WF auch auf die Hilfsvariablen durchgereicht werden.
    Gruß, Marcus
    IPS 3.4 auf HP Proliant Microserver/Windows Small Business Server 2011, EIB, Squeezebox Server + Squeezebox Radio, EIB-Gateway auf Raspberry mit Buskopplung von SelfBus
    Elektrofachkraft nach DIN VDE 1000-10

  4. #14
    Registriert seit
    Jul 2005
    Ort
    Schwanewede/Niedersachsen
    Beiträge
    1,808

    Danke, habe ich mir schon fast gedacht.

    Gesendet von meinem SM-T805 mit Tapatalk
    Gruss
    Horst

    IP-Symcon 5.0 IPS-868, FS20, HM, HUE, Plugwise

  5. #15
    Registriert seit
    Aug 2011
    Ort
    Sachsen
    Beiträge
    881

    Kann ich als IP auch eine lokale (192.168...) eingeben?

    So richtig bekomme ich es nicht hin, es hagelt Fehler. Deshalb möchte ich erstmal alle Umwege als Ursache ausschließen.

    Grüße
    galleto
    IPS 5.1 Unlimited auf Intel N3700 (4 GB RAM, SSD) mit Win10
    HM via piVCCU | FS20 via FHZ 1300 | IPS-868 via USB-T | Plugwise
    Back-UPS CS 350, Fritzbox 7270/7170/7330/4040, Synology DS 207+/215j, DCS-932L, WS-0101, Harmony Hub, Samsung UE32C6700, Sqeezebox, LW12

  6. #16
    Registriert seit
    Jan 2011
    Ort
    Wuppertal
    Beiträge
    135

    Hallo galleto,

    klar kannst Du auch eine lokale IP nehmen. Die dient ja nur der Verbindung Handy <---> IPS-Server, Spracherkennung macht Herr Google. Das Handy schickt dann nur den erkannten Text als String an das Script.

    Wenn Du mal auf der ersten Seite der App guckst, dort gibt es auch einen Button "Textsteuerung". Wenn Du da den Text, den Du normalerweise sprichst, eingibst, funktioniert es auch.
    Gruß, Marcus
    IPS 3.4 auf HP Proliant Microserver/Windows Small Business Server 2011, EIB, Squeezebox Server + Squeezebox Radio, EIB-Gateway auf Raspberry mit Buskopplung von SelfBus
    Elektrofachkraft nach DIN VDE 1000-10

  7. #17
    Registriert seit
    Jan 2011
    Ort
    Kerken (NRW)
    Beiträge
    218

    Das Problem mit den Instanzvariablen lässt sich auch ohne Hilfsvariablen lösen.
    Hier ist ein universeller Ansatz am Beispiel von Homematic. Licht an/aus steckt in der STATE Variable 29192. Diese Variable würde ich bei Thiemo's Script im Array unter "Licht" eintragen.

    SetValueBoolean(29192, false) funktioniert aber nicht. Um dieses Licht auszuschalten müsste ich eingeben HM_WriteValueBoolean(13859, "STATE", false)

    Mit der Funktion SetValueUniversal(29192, Value) kann ich ohne Umwege Homematic mit der ID der Instanzvariablen schalten. Für EIB, FS20 und Co. sollte sich die Funktion leicht erweitern lassen, da es vermutlich ähnlich funktioniert.

    SetValueUniversal(54457, 0.5) würde z.B. mein Homematic Rolle auf 50% fahren.

    Die anhängenden Funktionen einfach in Thiemo's Script kopieren und SetValueXXX(VarID, Value) durch SetValueUniversal(VarID, Value) ersetzen.

    PHP-Code:
    function SetValueUniversal($VariableID$Value) {
        
    // Prüfe ob Variable direkt beschreibbar ist (nicht ReadOnly)
        
    if(IPS_GetObject($VariableID)['ObjectIsReadOnly'] === false) {
           
    // Variable kann direkt gesetzt werden
           
    SetValue($VariableID$Value);
        } else {
           
    // Variable ist eine Status Variable. Suche übergeordnete Instanz zum Beschreiben
           
    $ParentID IPS_GetObject($VariableID)['ParentID'];
           
    // Den Namen des Ident der Variablen z.B. STATE
           
    $ObjectIdent IPS_GetObject($VariableID)['ObjectIdent'];
           
    // Den Typ 0=Boolean, 1=Integer, 2=Float, 3=String
           
    $VariableType IPS_GetVariable($VariableID)['VariableValue']['ValueType'];
           
    // Den Modul Type (siehe http://www.ip-symcon.de/service/dokumentation/befehlsreferenz/modulverwaltung/ips-getmoduleList/)
           
    $ModuleType GetModuleType($ParentID);
            switch(
    $ModuleType) {
               case 
    "HomeMatic Device":
                        if(
    $VariableType == 0) return HM_WriteValueBoolean($ParentID$ObjectIdent$Value);
                        if(
    $VariableType == 1) return HM_WriteValueInteger($ParentID$ObjectIdent$Value);
                        if(
    $VariableType == 2) return HM_WriteValueFloat($ParentID$ObjectIdent$Value);
                        if(
    $VariableType == 3) return HM_WriteValueString($ParentID$ObjectIdent$Value);
                        break;
                case 
    "FS20":
                      
    // ....
                      // ...
                      
    break;
                case 
    "Alle meine genutzten Hardwaretypen":
                      
    // ...
                      // ..
                
    default:
                   
    // Modul nicht gefunden oder unterstüzt
                      
    return false;
            }
        }
    }

    function 
    GetModuleType($ObjectID) {
        foreach(
    IPS_GetModuleList() as $guid) {
          
    $module IPS_GetModule($guid)['ModuleName'];
          if(
    in_array($ObjectIDIPS_GetInstanceListByModuleID($guid))) {
             return 
    $module;
            }
        }
        return 
    "";

    Angehängte Grafiken Angehängte Grafiken  
    Geändert von Heimgeist (10.11.14 um 12:25 Uhr) Grund: geändert laut Beitrag von Nall chan
    Viele Grüße Uwe

  8. #18
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    8,899

    Und wenn die Variable jetzt Deckenlicht und nicht STATE heißt ???
    Nimm statt IPS_GetName lieber IPS_GetObject und dann von der Rückgabe den Index ['ObjectIden'].
    Das ist auch der Ident welchen du bei Homematic Write-Befehlen übergeben 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

  9. #19
    Registriert seit
    Jan 2011
    Ort
    Kerken (NRW)
    Beiträge
    218

    Ich verstehe momentan nicht worauf Du hinaus willst. HM_WriteValue will als zweiten Parameter den Namen der Instanz variablen haben. Und der ist gleich dem Namen des Homematic Datenpunktes. Ich glaube Deckenlicht versteht Homematic nicht. ?

    Gesendet von meinem Nexus 4 mit Tapatalk
    Viele Grüße Uwe

  10. #20
    Registriert seit
    Jun 2012
    Ort
    House of Dragons @ Lübeck
    Beiträge
    8,899

    Zitat Zitat von Heimgeist Beitrag anzeigen
    HM_WriteValue will als zweiten Parameter den Namen der Instanz variablen haben. Und der ist gleich dem Namen des Homematic Datenpunktes.
    Der Name der Statusvariable ist nicht der 2. Parameter, sondern der Ident (der Statusvariable) welcher dem Datenpunkt von Homematic entspricht.
    Leider ist die Doku von IPS da sogar falsch
    Hier mal ein Screenshot:
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	ident_vs_name.png 
Hits:	293 
Größe:	125.9 KB 
ID:	27340

    Du kannst und darfst alle Objekte umbenennen, auch Statusvariablen. Wenn du jetzt versuchts damit einen HM_Write* auszuführen gibt es einen Fehler.
    Also mußt du schon den ObjectIdent holen und als 2. Parameter übergeben.

    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

Ähnliche Themen

  1. IPSView Android App
    Von pleibling im Forum IPSStudio & IPSView
    Antworten: 6
    Letzter Beitrag: 10.06.14, 22:44
  2. Android App Variablenaktualisierung
    Von mangojerry im Forum Mobile (iOS/Android)
    Antworten: 2
    Letzter Beitrag: 02.04.13, 19:27
  3. Native Android App
    Von paresy im Forum Neuigkeiten & Ankündigungen
    Antworten: 0
    Letzter Beitrag: 01.09.11, 13:15
  4. Android App stürzt ab
    Von bbernhard im Forum Mobile (iOS/Android)
    Antworten: 16
    Letzter Beitrag: 31.08.11, 23:32

Stichworte