Homematic Heizungssteuerung - VirtualDevices (Gruppen) ansprechen

Hallo swooper

da muss die ID des HomematicKonfigurators hin. … sorry hab ich wohl übersehen.

Gruß

Swifty

Hallo, ich bin frischer Anfänger was IP-Symcon angeht…
Ist diese Möglichkeit hier noch aktuell um eine „Heizungsgruppe“ aus der CCU2 Auszulesen? Ich nutze einen Raspberry pi2 mit dieser 4er Version.

Falls dies nicht mehr aktuell sein sollte, kann mir jemand einen Tipp geben oder helfen. Ich habe im Wohnzimmer drei Heizkörper zu einer Gruppe in der CCU2 eingebunden.

Vielen Dank schon einmal und einen guten Rutsch :slight_smile:

Hallo, ich hatte schon einmal nachgefragt … kann mir jemand sagen ob dies hier auch unter der Version 4.0 geht?
Vielen Dank

Eigentlich brauchst du die Gruppen nicht in IPS.
Siehe hier: Homematic Heizungssteuerung - VirtualDevices (Gruppen) ansprechen
Michael

Hallo und Danke …

Ich probiere jetzt dort diese Schritte einmal durch.

Hallo,

kann mir jemand bei der Einrichtung hier helfen?? Gerne auch per TeamViewer oder so…
Ich bekomme immer Fehlermeldungen und bin noch zu sehr von der Materie als Anfänger entfernt :slight_smile:
Das mit den Gruppen bei den CCU2 Heizungen scheint für mich doch einen Schritt zu komplex… :slight_smile:

Danke schon einmal

Vielleicht mag mir noch jemand helfen…hier mal Schritt für Schritt was ich bisher gemacht habe:

Die Datei „xmlrpc.inc.php“ habe ich ins Verzeichnis „Scriptverzeichniss“ von Symcon kopiert.
Dann habe ich eine Kategorie erstellt mit dem Namen „Homematic Heizung“

Dort habe ich die Datei „hmxml.inc.php“ importiert und angepasst.

In der Kategorie „Homematic Heizung“ habe ich wiederum eine Kategorie mit dem Namen „HM_VG“ angelegt und dort die Datei „HM_VG“ importiert.

Jetzt komme ich zu dem Punkt - „Falls noch nicht vorhanden ist das Profil HM_Heizung_Steuerung_RT-DN zu erstellen bzw. ein vorhandenes Profil um den PartyModus zu ergänzen (siehe Bild).“
Wie und wo muss bzw. kann ich das Profil erstellen??

Anbei auch einmal ein Screenshot wie es zur Zeit ausschaut…

Auf Kategorie „HM_VG“ rechte Maustaste -> Objekt hinzufügen -> Variable hinzufügen. Im neu „aufgehenden“ Fenster gibt es den Button „Profile verwalten“, dort ein neues Profil anlegen, Typ (oben rechts) Integer, Rest wie im Bild. Danach Profil speichern, Fenster schliessen und abbrechen.

Gruß
Bruno

Danke… das ging ja gut :slight_smile:
Jetzt hänge ich bei der Position 7 und erhalte die Fehlermeldungen

Warning: Objekt #49 existiert nicht in C:\IP-Symcon\scripts\hmxml.inc.php on line 218

Warning: Invalid argument supplied for foreach() in C:\IP-Symcon\scripts\27450.ips.php on line 61

Also in der hmxml Datei bei Zeile 218 steht: IPS_SetParent($HM_Cache_ID, $GLOBALS[‚hmxml_ID‘]);
Aber die ID ist definitiv richtig…!!!

Und bei dem HM Script (27450) steht dann der Position 61: foreach ($HM_VGs as $HMAddress => $VG) // Jede HM_VG - prüfen?? Das bedeutet, ich stehe echt auf dem Schlauch :frowning:

Den Kommentar drüber brauchst Du nicht zitieren, schon gar nicht als Vollzitat. Zum anderen kann man Beiträge auch editieren. :wink:

Was hast Du denn gemacht ? „Geht nicht“ ist immer toll.

Also so wie oben beschrieben bzw. auf Seite 1 … dann werden diese Fehler erzeugt bei Pos. 7…

Schritt 7 enthält mehrere Anweisungen, nach welcher taucht das auf ??

Bei dieser:

<edit>Im importierten Skript >>HM_VG<< in der Zeile 49 die Kommentierung herausnehmen (HMXML_DevicesCache_update(0)), einmal manuell ausführen, die Fehlermeldung ignorieren und anschließend die Zeile wieder auskommentieren.</edit> Der erste Aufruf dauert

Ok, gleich mit Antwort :eek:

Hallo,

auch wenn der Thread schon älter ist: Was für einen Vorteil hat es, die virtuelle Gruppe über ein speziellen Script einzubinden und anzusprechen?

Eine Gruppe aus mehreren Heizungen und Thermostat kann man doch auch einfach über das Setzen des Thermostats ansprechen. Der Thermostat leitet dann den Befehl an alle Teilnehmer der Gruppe weiter. Gleiches passiert wenn die Gruppe nur aus Heizkörpern besteht: Einfach einen der Heizkörper setzen und der/die andere(n) wird/werden automatisch mitgesetzt.

Moin demnos und willkommen im Forum!

Die Frage habe ich mir damals auch gestellt und habe das alles so installiert, dass ich die virtuellen Gruppen nicht in IPS habe, da man diese ohnehin zyklisch updaten müsste, was von swifty ja auch so vorgesehen ist.

Du kannst übrigens nicht nur das Wandthermostat der Gruppe ansteuern, welches die Daten dann verzögert weiterleitet sondern über die xml-rpc Schnittstelle auch die Gruppe direkt schalten, wenn du dir die hmxml entsprechend umbaust :slight_smile:

Man hat da sehr viele Möglichkeiten und du findest hier im Forum auch diverse Hinweise zu dem Thema - übrigens auch im HM Forum :wink:

Gruß
Hans

ich versteh das nicht… hab alles gemacht wie beschrieben, aber das ist die Ausgabe meines hm_VG

ECATED ***
 *
 * This file is only used to insure backwards compatibility
 * with the API of the library <= rev. 3
 *
 * If it is included, the library will work without any further autoloading
 *****************************************************************************/
include_once(__DIR__.'/../src/PhpXmlRpc.php');
include_once(__DIR__.'/../src/Value.php');
include_once(__DIR__.'/../src/Request.php');
include_once(__DIR__.'/../src/Response.php');
include_once(__DIR__.'/../src/Client.php');
include_once(__DIR__.'/../src/Encoder.php');
include_once(__DIR__.'/../src/Helper/Charset.php');
include_once(__DIR__.'/../src/Helper/Date.php');
include_once(__DIR__.'/../src/Helper/Http.php');
include_once(__DIR__.'/../src/Helper/Logger.php');
include_once(__DIR__.'/../src/Helper/XMLParser.php');
/* Expose the global variables which used to be defined */
PhpXmlRpc\PhpXmlRpc::$xmlrpc_internalencoding = 'ISO-8859-1'; // old default
PhpXmlRpc\PhpXmlRpc::exportGlobals();
/* some stuff deprecated enough that we do not want to put it in the new lib version */
/// @deprecated
$GLOBALS['xmlEntities'] = array(
    'amp'  => '&',
    'quot' => '"',
    'lt'   => '<',
    'gt'   => '>',
    'apos' => "'"
);
// formulate backslashes for escaping regexp
// Not in use anymore since 2.0. Shall we remove it?
/// @deprecated
$GLOBALS['xmlrpc_backslash'] = chr(92).chr(92);
/* Expose with the old names the classes which have been namespaced */
class xmlrpcval extends PhpXmlRpc\Value
{
    /**
     * @deprecated
     * @param xmlrpcval $o
     * @return string
     */
    public function serializeval($o)
    {
        // add check? slower, but helps to avoid recursion in serializing broken xmlrpcvals...
        //if (is_object($o) && (get_class($o) == 'xmlrpcval' || is_subclass_of($o, 'xmlrpcval')))
        //{
        $ar = $o->me;
        $val = reset($ar);
        $typ = key($ar);
        return '' . $this->serializedata($typ, $val) . "
";
        //}
    }
    /**
     * @deprecated this code looks like it is very fragile and has not been fixed
     * for a long long time. Shall we remove it for 2.0?
     */
    public function getval()
    {
        // UNSTABLE
        $b = reset($this->me);
        $a = key($this->me);
        // contributed by I Sofer, 2001-03-24
        // add support for nested arrays to scalarval
        // i've created a new method here, so as to
        // preserve back compatibility
        if (is_array($b)) {
            foreach($b as $id => $cont) {
                $b[$id] = $cont->scalarval();
            }
        }
        // add support for structures directly encoding php objects
        if (is_object($b)) {
            $t = get_object_vars($b);
            foreach($t as $id => $cont) {
                $t[$id] = $cont->scalarval();
            }
            foreach($t as $id => $cont) {
                @$b->$id = $cont;
            }
        }
        // end contrib
        return $b;
    }
    /// reset functionality added by parent class: same as it would happen if no interface was declared
    public function count()
    {
        return 1;
    }
    /// reset functionality added by parent class: same as it would happen if no interface was declared
    public function getIterator() {
        return new ArrayIterator($this);
    }
}
class xmlrpcmsg extends PhpXmlRpc\Request
{
}
class xmlrpcresp extends PhpXmlRpc\Response
{
}
class xmlrpc_client extends PhpXmlRpc\Client
{
}
/* Expose as global functions the ones which are now class methods */
/// Wrong speling, but we are adamant on backwards compatibility!
function xmlrpc_encode_entitites($data, $srcEncoding='', $destEncoding='')
{
    return PhpXmlRpc\Helper\Charset::instance()->encodeEntitites($data, $srcEncoding, $destEncoding);
}
function iso8601_encode($timeT, $utc=0)
{
    return PhpXmlRpc\Helper\Date::iso8601Encode($timeT, $utc);
}
function iso8601_decode($iDate, $utc=0)
{
    return PhpXmlRpc\Helper\Date::iso8601Decode($iDate, $utc);
}
function decode_chunked($buffer)
{
    return PhpXmlRpc\Helper\Http::decodeChunked($buffer);
}
function php_xmlrpc_decode($xmlrpcVal, $options=array())
{
    $encoder = new PhpXmlRpc\Encoder();
    return $encoder->decode($xmlrpcVal, $options);
}
function php_xmlrpc_encode($phpVal, $options=array())
{
    $encoder = new PhpXmlRpc\Encoder();
    return $encoder->encode($phpVal, $options);
}
function php_xmlrpc_decode_xml($xmlVal, $options=array())
{
    $encoder = new PhpXmlRpc\Encoder();
    return $encoder->decodeXml($xmlVal, $options);
}
function guess_encoding($httpHeader='', $xmlChunk='', $encodingPrefs=null)
{
    return PhpXmlRpc\Helper\XMLParser::guessEncoding($httpHeader, $xmlChunk, $encodingPrefs);
}
function has_encoding($xmlChunk)
{
    return PhpXmlRpc\Helper\XMLParser::hasEncoding($xmlChunk);
}
function is_valid_charset($encoding, $validList)
{
    return PhpXmlRpc\Helper\Charset::instance()->isValidCharset($encoding, $validList);
}

Warning:  array_key_exists() expects parameter 2 to be array, boolean given in /var/lib/symcon/scripts/33749.ips.php on line 181

Warning:  Invalid argument supplied for foreach() in /var/lib/symcon/scripts/19058.ips.php on line 61


steh voll aufm Schlauch… da kann man doch eigentlich nicht viel falsch machen… eigentlich…
eine HM_Device_Cache hat angelegt, aber mehr passiert nicht…
EDIT: lag an der falschen xmlrpc…

… hat jemand schon mal HMIP Gruppen eingebunden

hast du dich näher mit dem Thema beschäftigt?