[Modul] Zigbee2MQTT Beta Version 5.x

Hi,
ich liebe ja automatisch Update. Die neue Version erzeugt zu meiner Freude eine Variable wenn ein entsprechendes Payload kommt. Heute habe ich gesehen das darunter auch ein String ‚Update‘ mit einer json Struktur ist.

Ich habe mein automatisches Update-Script an die neue Version angepasst. Beim ersten Aufruf analysiert es die Update-Strings, wenn vorhanden, und legt die Variable Update Status an. In diese Status Variable kommt dann „idle“ oder „available“. Bei letzteren wird Z2M_PerformOTAUpdate mit der InstanzID aufgerufen. Es wird ein Trigger auf Verbindungsqualität der ID aktiviert und darin wird dann der Fortschritt angezeigt.

Das Script hat bei mir auch gleich angeschlagen:

Hier das Script:

<?php
$ignoreIDs = [];
$InstanzID = @IPS_GetVariableIDByName('InstanzID', $_IPS['SELF']);
if($InstanzID === false){
    $InstanzID = IPS_CreateVariable(1);
    IPS_SetName($InstanzID, 'InstanzID');
    IPS_SetParent($InstanzID, $_IPS['SELF']);
    SetValue($InstanzID, 0);
}
$TriggerID = @IPS_GetVariableIDByName('TriggerID', $_IPS['SELF']);
if($TriggerID === false){
    $TriggerID = IPS_CreateVariable(1);
    IPS_SetName($TriggerID, 'TriggerID');
    IPS_SetParent($TriggerID, $_IPS['SELF']);
    SetValue($TriggerID, 0);
}

$Instanz = GetValue($InstanzID);
switch ($_IPS['SENDER']){
    case "Variable":
        $DeviceConfig = json_decode(IPS_GetConfiguration($Instanz), true);
        $DeviceBaseTopic = $DeviceConfig["MQTTBaseTopic"];
        $BridgeIDsList = IPS_GetInstanceListByModuleID('{00160D82-9E2F-D1BD-6D0B-952F945332C5}');  // Zigbee2MQTT
        $BridgeID = 0;
        foreach ($BridgeIDsList as $BridgeIDItem){
            $BridgeConfig = json_decode(IPS_GetConfiguration($BridgeIDItem), true);
            $BridgeBaseTopic = $BridgeConfig["MQTTBaseTopic"];
            if ($DeviceBaseTopic == $BridgeBaseTopic){
                $BridgeID = $BridgeIDItem;
                break;
            }
        } 
        if ($BridgeID === 0) return;
        $VarID = @IPS_GetObjectIDByIdent('update', $Instanz);
        $Var = json_decode(GetValue($VarID), true);
        if (isset($Var['state'])){
            if ($Var['state'] == 'available'){
                $config = json_decode(IPS_GetConfiguration($Instanz), true);
                Z2M_PerformOTAUpdate($BridgeID, $config["MQTTTopic"]);
            }
            $VarID = @IPS_GetObjectIDByIdent('update_status', $Instanz);
            if ($VarID != 0){
                $Text = $Var['state'];
                if (isset($Var['progress'])){
                    $Text .= ' : ' . $Var['progress'] . '%';
                }
                SetValue($VarID, $Text);
            }
            if ($Var['state'] == 'idle'){
                IPS_LogMessage("Update Ende", IPS_GetName($Instanz));
                $Trigger = GetValue($TriggerID);
                IPS_SetEventActive($Trigger, false);
                SetValue($InstanzID, 0);
                IPS_SetScriptTimer($_IPS['SELF'], 120);
            }
        }
        break;
    case "Execute":
    case "TimerEvent":
// Alle Zigbee2MQTT Instanzen in ein Feld einlesen
        $InstanzIDsList = IPS_GetInstanceListByModuleID('{E5BB36C6-A70B-EB23-3716-9151A09AC8A2}');  // Zigbee2MQTT
// alle Z2M Instanzen untersuchen
        foreach ($InstanzIDsList as $Instanz) {
            if (in_array($Instanz, $ignoreIDs)) {
                continue;
            }
// Gibt es Status-Variable
//{"installed_version":1107324829,"latest_version":1124102917,"state":"available"}

            $VarID = @IPS_GetObjectIDByIdent('update', $Instanz);
            if ($VarID > 0){
                $Update = json_decode(GetValue($VarID), true);
                if (isset($Update['state'])){
                    $VarID = @IPS_GetObjectIDByIdent('update_status', $Instanz);
                    if ($VarID == 0){
                        $VarID = IPS_CreateVariable(1);
                        IPS_SetName($VarID, 'Update Status');
                        IPS_SetIdent($VarID, 'update_status');
                        IPS_SetParent($VarID, $_IPS['SELF']);
                    }
                    SetValue($VarID, $Update['state']);
                }
            }
        }
        foreach ($InstanzIDsList as $Instanz) {
            if (in_array($Instanz, $ignoreIDs)) {
                continue;
            }
            $VarID = @IPS_GetObjectIDByIdent('update_status', $Instanz);
            if ($VarID != 0){
                if (GetValue($VarID) == 'available'){
                    IPS_LogMessage("Update Start", IPS_GetName($Instanz));
                    IPS_SetScriptTimer($_IPS['SELF'], 0);
                    SetValue($InstanzID, $Instanz);
                    $Trigger = GetValue($TriggerID);
                    if ($Trigger == 0){
                        $Trigger = IPS_CreateEvent(0);
                        IPS_SetParent($Trigger, $_IPS['SELF']);
                        IPS_SetEventAction($Trigger, "{7938A5A2-0981-5FE0-BE6C-8AA610D654EB}",[]);
                        IPS_SetEventActive($Trigger, false);
                        SetValue($TriggerID, $Trigger);
                    }
                    $VarID = @IPS_GetObjectIDByIdent('linkquality', $Instanz);
                    IPS_SetEventTrigger($Trigger, 0, $VarID);
                    IPS_SetEventActive($Trigger, true);
                    return;
                }
            }
        }
        IPS_SetScriptTimer($_IPS['SELF'], 7 * 24 * 3600);
        break;
}
?>

Einfach einmal aufrufen und danach wird einmal in der Woche nach Updates gesucht und wenn vorhanden gestartet.

Ralf

Das wird morgen nicht mehr funktionieren, da die eine Update Variable als String entfällt und durch einzelne Variablen ersetzt wird.
Michael

Habe auch gerade durch ein OTA-Update gesehen das die Profile bei HUEs Effekten …

image

… entweder schlecht übersetzt sind oder Überreste von alten Versionen haben!!!

Wie war es gedacht? und welche Auswahl entspricht „—“ in Z2M, weil sonst steht im Konfigdialog … Wert nicht vorhanden!?!

Gruß Heiko

Das Testcenter zeigt das an, weil die Variable keinen Wert hat. Dies betrifft alle Variablen welche nur eine Aktion (hier z.b. den Effekt) starten. Diese Aktionen sind zustandslos, entsprechend haben die Variablen keinen Wert.
Sie könnten halt nur angesteuert werden.
Michael

1 „Gefällt mir“

Dann passe ich es morgen wieder an :joy:

Lasse meine Updateorgie nach dem aktuellen Gerät beenden damit ich morgen wieder testen kann. 5 Geräte warten noch auf ein Update.

War da nicht ne Aussage zu der Option?

LG

Ich warte nicht gerne.

Ja… Aber bisher nur Vorbereitungen dazu getroffen.
Kommt wohl erst mit der Version 5.x… :grinning:
Michael

1 „Gefällt mir“

Diesen Update-String habe ich auch als Vorbereitung und positives Zeichen verstanden den gab es vorher ja nicht.

Moin,

schonmal für Neugierige und Ungeduldige :rofl:
Der neue Aufbau für Update wird so aussehen:

LG
Burkhard

2 „Gefällt mir“

Hi,
update_status habe ich ja schon bin auf eure Version gespannt :smiley:

Ralf

Hallo, wenn ich Discovery installiere kommt folgende Fehlermeldung
`Konnte Konfigurationsform von neuer Instanz nicht bestimmen
Warning: Instance does not implement this function in D:\ProgramData\Symcon\modules.store\info.schnittcher.ips.zigbee2mqtt\Discovery\module.php on line 358

Fatal error: Uncaught TypeError: array_filter(): Argument #1 ($array) must be of type array, false given in D:\ProgramData\Symcon\modules.store\info.schnittcher.ips.zigbee2mqtt\Discovery\module.php:358
Stack trace:
#0 D:\ProgramData\Symcon\modules.store\info.schnittcher.ips.zigbee2mqtt\Discovery\module.php(358): array_filter(false, Array)
#1 D:\ProgramData\Symcon\modules.store\info.schnittcher.ips.zigbee2mqtt\Discovery\module.php(153): Zigbee2MQTTDiscovery->checkAllMqttServers()
#2 C:\Windows\System32-(3): Zigbee2MQTTDiscovery->GetConfigurationForm()
#3 {main}
thrown in D:\ProgramData\Symcon\modules.store\info.schnittcher.ips.zigbee2mqtt\Discovery\module.php on line 358 (Code: -32603)`

Kannst du bitte einmal schauen, ob du im physikalischen Objektbaum einen MQTT Client Splitter hast, welcher entweder keinen Client-Socket hat, oder einen Client-Socket ohne Adresse?

Michael

Version 5.12

  • Array und Composite Variablen (z.b. Update, Level-Config usw.) sind Variablen verfügbar.

Das Verzeichnis <Symcon-Userdata>/Zigbee2MQTTExposes/ sollte nach dem Update leer sein, oder maximal eine Datei translations.json enthalten. Das Verzeichniss kann anschließend gelöscht werden → wird nicht mehr benötigt.

@wibo050447 Schau mal bitte ob mit dem Update der Fehler weg ist.

Wenn keine weiteren Fehler auftreten, folgt nächste Woche der öffentliche Betatest.

Michael

1 „Gefällt mir“

Moin Michael,

meine beiden Fehler, siehe hier:
https://community.symcon.de/t/modul-zigbee2mqtt-testing-version/139819/224?u=hein09

sind weiterhin vorhanden.

Hein09

Jetzt kommt nachfolgende Fehlermeldung beim anlegen von Discovery zibee2mqtt

Konnte Konfigurationsform von neuer Instanz nicht bestimmen
Warning: Property Host not found in D:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.zigbee2mqtt\Discovery\module.php on line 411
{"elements":[],"actions":[{"type":"Button","name":"Config","caption":"Add external broker","onClick":"IPS_RequestAction($id, 'EditMQTTBroker', true);"},{"type":"Configurator","name":"DeviceConfigurator","caption":"Zigbee2MQTT Installations","delete":true,"rowCount":5,"sort":{"column":"topic","direction":"ascending"},"columns":[{"caption":"Topic","name":"topic","width":"300px"},{"caption":"Name","name":"name","width":"auto"}],"values":[{"name":"Zigbee2MQTT Konfigurator","instanceID":29941,"topic":"zigbee2mqtt"}]},{"name":"BrokerPopup","type":"PopupAlert","visible":false,"popup":{"closeCaption":"Close","items":[{"name":"BrokerTitle","type":"Label","bold":true,"caption":"No MQTT Server or Client in Symcon found!"},{"name":"BrokerText","type":"Label","caption":"If an external MQTT broker is used, it can be specified here for verification:"},{"type":"ValidationTextBox","name":"Url","caption":"Url (mqtt:\/\/ or mqtts:\/\/)","validate":"((mqtt:\\\/\\\/)|(mqtts:\\\/\\\/)).*","value":"mqtt:\/\/"},{"type":"ValidationTextBox","name":"UserName","caption":"Username"},{"type":"PasswordTextBox","name":"Password","caption":"Password"},{"type":"Button","caption":"Save","name":"CheckMQTTBroker","onClick":["IPS_RequestAction($id, 'CheckMQTTBroker',","   json_encode([","       'Url' => $Url,","       'UserName' => $UserName,","       'Password' => $Password","   ])",");"]}]}},{"name":"ErrorPopup","type":"PopupAlert","visible":false,"popup":{"closeCaption":"Close","items":[{"name":"ErrorTitle","type":"Label","color":16711680,"bold":true,"caption":"Could not connect to broker!"}]}},{"type":"Label","caption":"Donations"},{"type":"Label","caption":"This module is free for non-commercial use,\r\nDonations in support of the author are accepted here:"},{"type":"RowLayout","items":[{"type":"Image","onClick":"echo 'https:\/\/www.paypal.com\/donate?hosted_button_id=EK4JRP87XLSHW';","image":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC\/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A\/wD\/oL2nkwAAAAlwSFlzAAALiQAAC4kBN8nLrQAADDpJREFUeNrtmnmMXXUVxz\/n994sXaalrdCq2CIw1A2mLmhcwlbcorYVxKgxxC3uG0btYKKJGOkgLsEF1ESjJIq7HcQaUSKoCAW0fYVq6bQVSm1tS5l2pp03b957v+Mf577Offe9genMCzR4Psmk6bv3\/u5vOb9zvuf8LjiO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO4ziO8\/ghrWoo9G1ECQj6bOD1CrMAzbysAhwG9gM7gV3AHjSUkCqxd9kTPR91dPcPAcwBLgROanKLAmVgEPhv8rc3BkZEYduKOS3px3O\/MMDYWQsBTgDOANqSS\/tBtwFxYOXcKbWdb910CYLOB64Dzn0Uy4pAFSgBB4B7kPg1CHeEvkKMvT2t69I06O4fQkEEeoFPYJOuE9xeG88gsCVEvg2s6+4fKg2snL4RJIvfDlwFvBUI2Oa9D2QFsHeqbYcWz9vJwHMn8c42YDawBLgY+CnoKpUcoW9ji7s0dQS6gHOBjqTfuQn+2rF7FwOvAn4I9CJ0JF6kFTwVeGXynlnATOsiY9NptNUGcDbmprKUgJHk32a76OnAFaLVxS2MSq3gROAZTX6P2MSXJxhPF3AZyssATr+pJUZwStKfNH9TiYcmdkyPTUtCQOgrgGpA5Jwmba4Hvoi5xxnAmcCHgFMz93UDPZg2IKzZhKCiQjvQie2yHONxtwiMAhp7e8xziCKENtQMWyGiUgaIl59VP\/ArC+TGoNxJPmkXQFCqorGc6tOCTD8PJuO5F\/NkS4B3AC+k3nrnAm9E9TapSjzjxoOAouTaUDowr1Kbq0oyltGoY9UgnQysnA3A0l8fIto952Fes0YVuFM0xKrEJ9YAbOqkCxMoacrAV4DfgIAooSJ\/iDn9F3BDMkk12oFFAKGv0Am6UuHVmHeYhxlPHtt9tXh7P3BD6CusB8ZQWaRwZfKMAiOIfitWcreEqwrE1aYvQl+BSCR2hucDl2HuVYEcwr0q4TPDg8MjXfO6lmOuNs1NIN8ALYlCNUBQ\/gCsBZ6duXcZIjNARlTD2cCbMKM6MVnMmpgbA4aBnUHab4R48xk3Dh6MsY1oi9sGvCDT9jCwHWDHihOOAwOwQZ2c+e0gsAUg9iY7sK8AcB\/wSMYA0rwT+HKTyc9yAfAW4FqFK8R26+uoV+yLQr66AeWR+kfDYuA7WNhKc3t85FBxznNO7VTVszLXIvBH0JJKYGDlbLr7DwE8ALKdRgPIoSiipwLXA0snMY8XA7eo5j4oEncmv83FQkCafcDuqSxU3SxMt4EUS2l0l7uBPU3uXUC9OwPzFvsRAraI6cWvYLuk2qStecCHBV4MPIwZXZol6X6FvgJiLv8jwIsy9\/4L+MH80xerqs5Pnk1zGNgKsG1F0n0VUOmgufbZobkwirnv01K\/V5PxNhtPZzL+dwekFlIWJX9ptkLWqI+daXuAcNVGqOYgVJdjbjrNXZirhi8XCBXAFv7DNAqa\/cAWlDmYxe8A\/g78BasXlDBxtRzb9V2pZ+cmE3w3tjPSoWgO5hEG8l\/ZTCxXUHg+8DbqY3YJuDooO+afOA\/Mmy3M9HEf8FDtP939QzzQ8winFOZfCDwvc28F+H2IMSbv24\/phj8D2zAN05k893bgmZnnz4\/o1ZjR9WCGnuZPCEWmHv6BVoQAFQjVmrjLcihZAEKFGcDp2OKvaHLvDcnEALwfGFLYp51akjFBP91jYhN+ie3gd6WejUAF0RIquzLtzgCeBhDLFTDPsrr2W4pbgbVRQIIAvILGEFVM3j2zu3+oA5h\/SmH+RcDHaPQAm4HbEn3+NeAa4D9oKILqwKouKzSp\/gyRO4GfUG\/UJaA6K7RxJJbPZVwvgAnG+1AYWDW9OkOrNEAzdwnwXmzHajK4kzCDyOZ6tyUTVIm9PeSvLGyudCqhJHkZlTlAl\/QV5ibPPoXG3TIK7EYFTF+kyQFnBIVob30NJi7TDGJFlsEl3YtRIS\/KS5v0cynwKyylnZGMZ1FmccB2+2c1yEOhqmxdNWd7d\/8QEhCNcQYwu7t\/yDydyGzgpU3auFuU4pFYnkWjdhgkyZamS6sMYDHNS6VzMPc3EWVgHfBJEtca+jbmIjwjjMkrES5kPIZ3JZPegWUMaQ6kJuQubIHSGuLsqtAu1p9PUr\/TAK5HuB2FfD5HEoZOo5F2GtV4ln8Dq0HXSTQH2d0\/NB84WyMrMaF4IuYxZibj6WA8Fa3Ny91mzyygUVzvZhrVvzTTMgC5akOtBnEOEyv6LJaeWXbwLWAtyKB5cTkJ5BPAJVgBpm2SbT6IxWcwvTBMvQGckiz+O2lU\/duA61DGYm8PWOVuEY0h4tGoJO+\/MRnTP0EiZjCXAB\/FKqSzJtneIZIUD9tcWb20HuVQK2pm0zMADWCL9JIml4uYpZaTCRoBHgD+BmwAtqC6H1AbiCwEvosp4PRuGMQW6Z+Yq1+GLWI6g\/lTyMXhWA1g3uBh6gXcAuDlwHsyYy4DX43t5fvDWJ2tLaNRdMWk3SKm3kexjGMTJuw2ADtUdUxMvOexc4RPUZ\/xHMa83QAmCoexs4a0B93DePZ0DvUeKwK3I0SpTL0CWKMVIWAujVW9MvA54MdJ6K0CYwrFQBxDhOrqZQBIXwFFJKAfB15P\/cL+FfhMMlGHkVBF46ewlK\/GGHB3svgkE7qX+jOJhcA3aNzVdwC\/CGNtxN4eutceQmNVJOTOpzHM\/B5b0EHGq5EjwIiWpCqzlIHXmSBL6v8vw1LN9OJvAi7HspuDCiWx+P6xzLvuSd6TpzFVPVoA2nrx1E4A07TCABZhlbQ0+4B+YLf29tRVqrOJrwCCLgBeS\/3iHwA+DdyhVkSEGNsQXky9ODuIxV0QUBgVJZsJtNFY0x8C1mC1h6OdEQnNRFcF+D6wSVTZumriie9eO4SoBhW5FBOs6Ta+hLJOg5BTrWVwPZiIrhExUVzBPFdW8O4H\/tOCdQNaUwh6AY3u8kGOTaTMozHOjWBGYItvZdrzMcWcZjd2Dk+Mo4iiwEYe+4Tkp9hEHy0RJ+b4FCzupjmIuexHXXww0RdFOmgUkXYKKiCqVCQPtrjvw0RgjcNYiRvMc2U31zZaUACqMWUPENYUEEVUOI9GsXZrnPHgkBSXTKHlozwN+Cbws+T\/59P8w4y7VGRQVOHyl9RKzRswA5pIdO0Evg4U6RjNXjuN+p0LZmB7mDyK7eC6KcNCyDxgZ9DKC7F6SLZ8vA+OerAzaVoA0hG0NUXcqYcAc7ddNLrLMnBXKC7hGD7u2I+58XSMzmHn3xekfsuefUfgz6JazWz3PZiLb2YAVeAaQTYrSrzM9Gv3r4dNuKssb\/LcP5Q4KJOS3cJMLY0WpX09ZrBplgJXJ\/3OA0do9FRbgAMdMwKlYjyPei1SAu5FhYGVXbSC6ZrRTMbTv5gMZgem2CeF2pdEB7F4vKvJLQHbFVdgbjvNQ5hAROuNbZCJ3eQ9wA2Kap2BBiCGPI2CdgT4rRDKUR5bdW9b2UVR2sEOmm6jcYFzmCH\/HBOJg6lrJexUsVgqxjYaS9H3H8vcToYpe4BkVAfESru141QF7kfZPtkcVXvPQs1t\/w64CLgUS\/PakslZB9yssEVMyN2SXIvAFlU2S+O7jtDcAI4AawT2ZEvoilINoZJX\/RJwMzV9at7kVoDtkz12FSGWqw+FfLgUeDOW3czFUsj1wG+wghWYvjghedfDtXcFjeUo4fOYQeQwz7VRYWcrP5k5bj6\/Wfi93ezdt5dAyCPMwvZkKZk0nWw4Sc4LZmMG9YrM5R8jvBflyOPx7WFyVCwgs4AOhDGNjJALVdm1i4EPPOvxmt4JOW4MoCX0bSKYb1qOicd0erUbeAPwD5WArj5zCi948tHqbwKf4MEomKtdTWNufS3oRsAXP8WTxgDCmkLt84lLaHT9m4DrQY6bz86PF540BoCAKidjojT9YUoR6CP1IYczzpPDAK78O8kBzNuwL2yU8Y9Hf4RlEsdSl\/i\/oZUfhT5xhFrGpjdjYq+Wez8M3IkyTNv0T84cx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Gmx\/8AQ1faHO6uaXsAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDUtMjVUMTI6NDA6MTArMDI6MDB4\/FYOAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTA1LTI1VDEyOjQwOjEwKzAyOjAwCaHusgAAAEZ0RVh0c29mdHdhcmUASW1hZ2VNYWdpY2sgNi43LjgtOSAyMDE2LTA2LTE2IFExNiBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZ+a\/NLYAAAAYdEVYdFRodW1iOjpEb2N1bWVudDo6UGFnZXMAMaf\/uy8AAAAYdEVYdFRodW1iOjpJbWFnZTo6aGVpZ2h0ADUxMsDQUFEAAAAXdEVYdFRodW1iOjpJbWFnZTo6V2lkdGgANTEyHHwD3AAAABl0RVh0VGh1bWI6Ok1pbWV0eXBlAGltYWdlL3BuZz+yVk4AAAAXdEVYdFRodW1iOjpNVGltZQAxNTI3MjQ0ODEwnCKKMAAAABN0RVh0VGh1bWI6OlNpemUAMTIuOEtCQhoRQ10AAABCdEVYdFRodW1iOjpVUkkAZmlsZTovLy4vdXBsb2Fkcy81Ni9rSWZ4SUF5LzE0ODcvODM5My1wYXlwYWxfMTAyNDYxLnBuZ6xvuXsAAAAASUVORK5CYII="},{"type":"Label","caption":""},{"type":"Image","onClick":"echo 'https:\/\/www.amazon.de\/hz\/wishlist\/ls\/3JVWED9SZMDPK?ref_=wl_share';","image":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC\/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A\/wD\/oL2nkwAAAAlwSFlzAAALiQAAC4kBN8nLrQAADlZJREFUeNrtnXtwXFd9xz\/n7kqWbTnWyjZK7EjVynFCiXk4tA2lTUlKCpQQCBT64pGGPphpaad0hpamTR+UYUrDTGlheM1Q2oGhKQOksRyHpglQ2kISpmRKHi0YZ22nMY78kmRLlry6++sf33OllWNZq3tX2r3K+czc8UO6u+ee87u\/83udcyAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQF5xrW7ASrF9+3acc8Rx3AGsBzb4az1QBAyIgSowAZz212SlUol37NjBvn37Wv0YTWdVC0C5XMY5VzCzzcAO4GeAFwLbgF40+GuAgr8l9tc0GvzjwJPAfwJfBypmNu6cs0ql0urHawqrTgAGBwfp7u5mYmKiG7gKeBvwEqAfvfFpnjkGTgL7gL3APwFPAHHeBWHVCMDAwADFYhEzWwu8HPgd4EeBniZ\/VQ1phbuADwP7gdxqhFUhAIODg5gZURRdCdwGvBq97ctJDfg+8JfAPwJTeRSCQvaPaC3lcpkoigrOuTcCnwBehub15cYBm4Drgc3AN0ul0lRfXx\/Hjx9vdbc0TK4FoFwuA3QAvwv8FXBpC5rRCbwY6AO+Hsfx1OjoaKu7pmFyKwCJhY\/m+j8FNrawORHwAmQs\/kepVKrlRQhyKQCDg4MUCgXM7Cbgdppv6KUhQi7mt4Anenp6yIMQRK1uQBqcc9RqtcuA96J5uF3oAX4fKDmXD\/s6dwJQN++\/G9jZ6vachx9H8Qf6+\/tb3ZZFyZ0AeHYBr2t1IxZgPfB6oFAsFlvdlkVp\/xbW4d\/+IvAbyOpOiwEnUEDnKDLeSihEfHET+uVa5Bo+3dIOa4BcCYBnK\/L10zIO\/B3wWeAASvwYih30Aa9C00sW\/X2xv4IANK2hc+r0J0g\/OE+jmMGXgLPnRO6my+XyOIruPQL8PfBDKb+nm2waasXIjQ3gDaoI+FnSRfqmgNucc5\/nmYMPgP8\/c859DfgYmhrS0EF7eScLkhsB8KwHtqe89xvAF8ysdqGYfaVSwcwA\/hk4kvK7InwuYseOHa3qq4YbmidqwNmU930WpXQbZYT0AgDQY2bEcVolsjLkTQAmgA+hXHx1CfcdA\/4LZtV8I0whgzEtXYVCgVqttvK9tARyYwRWKpXEDRwG\/gd4LrK0LweuREZXDzLA1qMkTREN5CeB\/13iV6bVNgmdZka7RwRzIwAw+\/bWgO8B3\/MCEaHBXocGvgf59FuQIfZ\/qJzrbIp8vWVpb1dXF5OTk63utguSKwE4lzqBmPJXEtxJxdDQEM45Z2YFM1uTsX9scnIyaIB2YmBgADOjUCh0OOfWIUu9F2mKITPbYWZ9wEVIk+zK8HXW7oMPq1wA\/BThkF1wMbIbXobshj408BvR9FFfHdwMzDmXuJRty6oTAD\/ooIF9HvBzqCp4EA1410q1pd0HH1aRANS97VuBN\/nrh5Eqb39d3CJyLwBDQ0OJr10CbgZ+Dan4jla3LQ\/kWgDK5TK1Ws05514C\/AVwDXIJAw2SWwEol8uYWdE59zbgz8iWvn3WkksB8BXBRVQR\/Ce0tiI41+QtFzBr7JnZ2wmDn5lcaYA6F+8amrcWYBplCUdQediTqHBkHHgrih2sWnIlAJ7NqBx8a8bPGUErfb+EVv0eQ9nGKjCDAkPXEgSgPRgcHCSKImq12s3ASzN8VBX4IlpQ8lgURdPVapVDhw7N\/kKdpln15EYA\/GKQPqSW0\/r4VeADaPDHa7XaheoDHM+CAFIuBKDujbyebCr58\/jBbzA1nDsjeank5gHNrAN4A+mXfh8F\/hr\/5jdARE5ekCzkRgCcc5tQbD8tD6BKIg4ePNjI73eiApNVTW4EALiEbLX29wKTS8jQdZNt1bHzW9asTO+kJE8CMIQGJQ1VVBrGgQMHGr3nUrLV9m+oVquu3YtC8iQAl5E+0WOoZGxRfI4B4AayaYChKIraPjGVJwHYnPE5Gy4Ecc5tQSuQsnCZmfWsQL9kIk8CkKVcqwgMmBlDQ0ML\/tLg4GBSxPlG4PkZ29uPd1m3b0+7mGn5yZMATGS8\/wbn3IYLGWW+hq8M\/CbZ6wo2ALcAXe28OCRPAvAk6RdrAlztr\/OGev3\/9QDvQwtNmsFNwHULfWc7kItNokqlEqhU+xdIHwbuQnGEB+M4frq3t5fR0VHK5TI9PT3OOTcEfBDVEjarX7qAK4D7gNFNmzZx8uRSlicuP3kSgE7gF8m2A+hW4OVRFG0EpkqlUi+w0zn3W8Cfo5LxZkf\/tiJ38n4zm263ncPa20n11KnnfwF+rAkfGQOnUHxgnb+Wsy+mUBLrC7CkBarLTm5sAOfcGArnNoMCEqgtKNy73C9CF\/BK2lDj5kIA\/KYNhjZlPtbq9qTkiJm13WYBuRCAOv4brfTNGw8C\/+Cc4+jRo61uyzxyIwDelz6DLPUfrORXo+1fR1Lca8C\/Ajc7574PcPr06RVs+uK03Zy0EGNjY4k3cBhZ6tew\/Pn6GLgD+HVgjKV5CTGast4JVJxzbWX8JeRGAABGR0cplUoGPIxSw7tYPi12Bvgb4I9QlfAjKCHVSIh4Gvhb4FYzGykWi+zfv7\/V3XdeciUAMCsEVXSQUzfaobvZmuAg8AfoSJhT\/f39jI+Pn0VTwS600nghxlFM4XZg\/MCBA5w4caLV3bYguRMAmBWCKeDfUJ5\/J81ZBXwK+eq\/jQpIqpVKhYMHD9Lb24uZjTnnHkJCcL6laIeB3wM+RU6OkMlFIGghfGYvMrPLgV8Bfh4VciwlXDyDXMuvAJ8yswejKJqI4\/gZpWNJabqZXQF8BB1OlfThI8C7nHNfXWwvwnrsy2jCiCighS6b6q6NKFh1Ai1eSf48jc+LuBuz9WGuBSBhaGgIMyuit\/JFwCuAH0E1BGuZfzBkcibg00ilfwt43Dn3RBzHU4vN18lydOfcNiRwV6Naw8+hBSYNGXs2DKj\/N6Ptb9+AklAXo6ltDXP2zQxz29YdAb4L7EGR0XEicDek67vUAmB3+y41IsBwmHtN2k9rDnUZtyLzTwbt9K2dASb9NYEMvYbf1nO\/y8ycc65oZrFzrqHPsWEUfzzKc5DW+iW0n8G6JTZhGvg08C5gKq0mSC8AkuANwK3AN4F7MaYopJfG1Y4No6hCxCtQ2vkqstlh+5Fr+lRaAchqPXegfPc7gS\/juJ0a37ZhZrLOTauWiA6UF+gCvsPcCqSCvzrrri5\/dXL+lzXz6qX0GmAPUkKdXA18FEnzETQ3fRh4HIIg1GN7kr\/MnlkMc2MQMScEHcxtfNkLDKDikuuZX6n0GPDTwMiKTwHgVZoBjuehQb\/O\/+gw2tL140gQqhTAvXrZ+3jVYbtJRqkPrWa+qu7H30AHXJxKKwCZomjuRv8JxuNog6bPIENrG\/AO4B7kE7+UmHV2pzceAwtiw2C7iWw3BZORnXAG9W09jyODNjVNcwNtD2BchIIo72b+5g3HgYfQUS1f8\/+2MD0Iuws5q9OsQwdQ3oymgvcBybr1S1DfXZ7cBvwq8OmWuIHnfRB5Bh3AjcD7UT1cPZNoo+d7UJJlH52cYebZ6Tl4myDC6ENBpbeg+EUvGpv3YHzAj9JO4H7gOf72MaT+H8jyIjU1hu5uBBuminEnju+irdtew1xkbh0K1LwAlUx\/h7PcCdxrwzyFMY3LHt1qZ+oCQBsxdqI4wLVo6Vv94pWY+ecVXM58rVpB5yZkounpVC8EhizUtwNvBt7D\/IOdI+ZO1roOGY2P4tgL3GfDPIW0xaqYJmwYcEQYPWggX48GPRnUczXxKeRZ3VH3k59i\/tL4L3KWkayrF5Y1FFz34C8C\/hgtt7rQEq0ZFKLdj4JLe9EpXidwWtvX6mhjQ8+9GwCHYy1S2S9EmvAqoMzCiSsDHkUbYO1FjjbIQtiN3EBQccqrgIfbPhfgVR6orv8GpA12srgHYuhNOILU3UPICDqAjMjTGDFRa4XC7kET3BmKyG\/fgmyf69HADyEhWLvIR51ERvJHUDravDYFeVVfBZITqD6JjO2zbS8Asx0191Zcikqk34GSN422wdC0cAJNGYeQG\/QASgmfRAIzBVQxrJn2RN3cXUSD2Y32J+5H5wVf6f+erANYbMATppBxd7t\/lun6Nvvv\/UngbvQSHUba5GFicDdle64Vzwb6Byqg+e8WZCNckrItybLv08gqPl53PYWMpEQ4JtEZQNMoxVojSWfN9UWyLUwHc2HYi9AbeBka4C0og9eLVPkG\/3tLbf80ykR+CLiPGmMU5mszuxuZgo73Arf5f92K44MYtWYId8vSwXUu4xXALyNruJ\/mFqnEaLCrqMNn\/FX1P6v5C+ZCsYkAJNca\/2ezDOYJNPAfBb6C4zh2fk3l+6gLuAuluPeiGMGxZmm2ltcD1GmEMjJsbkFr+BpVoXnA0CZV96MjaR8iYpTahaco3zcDyPaZREvjHsU1z+5puQCc87AOqdgXI41wHc05zbtVnEKBrztQ8cY+HFMLvfEL9MkuZBj+IX5NRDNd47YRgNmHvgfN1AXWYAygtYBvQhGyLbT3eQCGgjdPoGTYfahaKFXo2wvAWmRUHobmzPv1tJ0APKMDVECxFgWSrkTu1TXIMNtIa7VD4pkcQ4GvPcC3URzjBMswYM2mrQXgXHzCqYjcr23IL74aHQq1DVnl65DR1uxni5mryxtBAZt\/R2\/4IWCEmEkicK9tdU81Tq4E4Fy8ioyY88m3IJthG\/Iunuv\/rxup0k4kHAV\/X\/L8iTeQ7BR+Blnr4+htfgwN8g\/Q4B8Hxuigykw+opMLkWsBOB+zkceIiNq8sqo1zJVXJW5d8vwxGvgkTjBVd01TYAZ7dmYsA4FAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAi0L\/8PPzsHpjv7GYcAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDUtMjVUMTI6NDA6NTkrMDI6MDBpLh0nAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTA1LTI1VDEyOjQwOjU5KzAyOjAwGHOlmwAAAEZ0RVh0c29mdHdhcmUASW1hZ2VNYWdpY2sgNi43LjgtOSAyMDE2LTA2LTE2IFExNiBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZ+a\/NLYAAAAYdEVYdFRodW1iOjpEb2N1bWVudDo6UGFnZXMAMaf\/uy8AAAAYdEVYdFRodW1iOjpJbWFnZTo6aGVpZ2h0ADUxMsDQUFEAAAAXdEVYdFRodW1iOjpJbWFnZTo6V2lkdGgANTEyHHwD3AAAABl0RVh0VGh1bWI6Ok1pbWV0eXBlAGltYWdlL3BuZz+yVk4AAAAXdEVYdFRodW1iOjpNVGltZQAxNTI3MjQ0ODU5gZL3kAAAABN0RVh0VGh1bWI6OlNpemUAMTMuOUtCQmnx950AAABCdEVYdFRodW1iOjpVUkkAZmlsZTovLy4vdXBsb2Fkcy81Ni9rSWZ4SUF5LzE0ODcvODM2NC1hbWF6b25fMTAyNDc4LnBuZyRWaU8AAAAASUVORK5CYII="}]}]} (Code: -32603)

Moin,
war update__state statt update_state (2*_) Absicht?

Ralf

1 „Gefällt mir“

Dito bei level_config__ (2*_) Absicht?

Heiko

Ja,

Ist mit Absicht so.

Hierbei handelt es sich um composite-exposes. Dort gibt es immer ein main-festure und ein sub-feature.
Der Ident wird also aus den beiden festures getrennt durch doppelten underscore gebildet.

LG

Burkhard

1 „Gefällt mir“

Dann bitte hier mal einen Screenshot machen bzw prüfen:

Michael