CCU3 RaspberryMatic: Programm funktioniert nicht - IP wired

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Antworten
nic_hmuser
Beiträge: 4
Registriert: 06.10.2020, 19:08
System: CCU

CCU3 RaspberryMatic: Programm funktioniert nicht - IP wired

Beitrag von nic_hmuser » 06.10.2020, 19:18

Hallo zusammen,

ich melde mich hier als Neuling im Forum, da ich an einer scheinbar einfachen Programmierung scheitere und bisher den Fehler leider nicht finde.
Mein Ziel ist, mit einem Tastendruck alle Lichter (Gewerk Licht) auszuschalten.

Ich habe dazu folgendes Skript im Einsatz und den Device-Typ angepasst:

Code: Alles auswählen

var i = dom.GetObject("Licht");

string itemID;

foreach(itemID, i.EnumUsedIDs()) 
{
    var item = dom.GetObject(itemID);
    WriteLine(item.Name()); 
    WriteLine(item.State());
    if (item.IsTypeOf(OT_CHANNEL)) 
    {
        var device = dom.GetObject(item.Device());
        if ((device.HssType().Find("HmIP-RF") >= 0) && (item.State())) { item.State(0); }
    }
}
WriteLine("Ende");
Beim Tastendruck und beim Ausführen des Skriptes passiert jedoch gar nichts.
Das "Skript testen" funktioniert m.E. nach und folgendes wird ausgegeben (gekürzt):

Code: Alles auswählen

HmIPW-DRD3 00169A498F60A5:10
0
HmIPW-DRD3 00169A498F60A5:2
0
HmIPW-DRD3 00169A498F60A5:6
0
HmIPW-DRS8 001618A99C5FC5:6
0
HmIPW-DRS8 001618A99C5FCA:10
0

Ende
Auf der CCU sieht es folgendermaßen aus:
Bildschirmfoto 2020-10-06 um 19.16.17.png
Habt ihr noch eine Idee an was es liegen könnte? Zum Test habe ich auch bereits ein neues Gewerk angelegt, hier hat es sich jedoch gleich verhalten.

Vielen Dank vorab und beste Grüße
Nic
Zuletzt geändert von Roland M. am 11.10.2020, 18:38, insgesamt 1-mal geändert.
Grund: Thema verschoben

chka
Beiträge: 1996
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 71 Mal
Danksagung erhalten: 30 Mal

Re: CCU3 RaspberryMatic: Programm funktioniert nicht - IP wired

Beitrag von chka » 06.10.2020, 19:43

habe mal ein wenig mit deinem script rumgespielt sauber laufen tut es nicht.

1. find müsste HMIP heißen so ist es zu mindestens bei mir
2. lasse ich folgendes script durchlaufen findet er nur die ausgeschalteten nicht aber die aktiven

Code: Alles auswählen

var i = dom.GetObject("Licht");

string itemID;

foreach(itemID, i.EnumUsedIDs()) 
{
var item = dom.GetObject(itemID);
   if (item.IsTypeOf(OT_CHANNEL)) 
    {
        var device = dom.GetObject(item.Device());
        if (device.HssType().Find("HMIP") >= 0) { 
        WriteLine(item.Name()); 
        WriteLine(item.State());
        WriteLine(device.HssType());

        !item.State(0); 
        }
    }  
}

}
WriteLine("Ende");
Debmatic - CuL V2 868mHz- CuxDemon - PioTek Tracker - Velux und Somfy Anbindung- io.Broker aufm ESX 6.7
Keine Support PNs Danke!

nic_hmuser
Beiträge: 4
Registriert: 06.10.2020, 19:08
System: CCU

Re: CCU3 RaspberryMatic: Programm funktioniert nicht - IP wired

Beitrag von nic_hmuser » 11.10.2020, 13:11

Danke für deine Antwort.
Ich gebe dir Recht, es werden die ausgeschalteten angezeigt und das bringt leider recht wenig :roll:

Im Netz finde ich etliche Skripte für "alle Lichter aus" und keins funktioniert bei mir aktuell - auch nach Anpassung des Devicetyps.
Kannst du denn bitte dein Skript hier reinposten wenn es bei dir funktioniert? Wäre wirklich super :)

Baxxy
Beiträge: 1791
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 159 Mal
Danksagung erhalten: 259 Mal

Re: CCU3 RaspberryMatic: Programm funktioniert nicht - IP wired

Beitrag von Baxxy » 11.10.2020, 14:26

nic_hmuser hat geschrieben:
11.10.2020, 13:11
Kannst du denn bitte dein Skript hier reinposten
Ich bin zwar nicht chka aber ich hatte hier mal ein Script von Alchy für meine HmIP-Schaltaktoren angepasst. :wink:
Da ich kein IP-wired habe müsstest du mal schauen ob das Script grundsätzlich korrekt die EIN-geschalteten Aktorkanäle ausgibt. Einfach im "Script testen" auführen und schauen ob die Ausgabe passt. Geschalten wird erstmal nix. Es sind auch nur normale Schaltaktoren inkludiert. Bei IP-Dimmern müsste man nochmal anpassen.

Code: Alles auswählen

! https://homematic-forum.de/forum/viewtopic.php?f=19&t=26800&hilit=hsstype&start=40#p586432
! Alle Aktoren in wählbaren verschiedenen Räumen/Gewerken/Favoriten (trennen mit \t )
! Ausgabe der eingeschalteten Lichter
! (c)by Alchy; edited by Baxxy

string liste = "Schaltdosen";
! Dont touch behind this Line
string index;
string slist ="";
string list = "";
integer counter = 0;
foreach (index, liste) {
object sec = dom.GetObject(""#index#"");
string itemId;
foreach(itemId, sec.EnumUsedIDs()) {
var item = dom.GetObject(itemId);
if (item.IsTypeOf(OT_CHANNEL)) {
var device = dom.GetObject(item.Device());
var hssType = item.HssType();
if ( ((hssType == "SWITCH") || (hssType == "SWITCH_VIRTUAL_RECEIVER")) && (item.DPByHssDP("STATE").Value())) {
counter = counter +1;
list = list #item.Name() #" | ";
!item.DPByHssDP("STATE").State(false);
}
if ( (hssType == "DIMMER") && (item.State()) ) {
counter = counter +1;
list = list #item.Name() #" | ";
}}}}
    if (counter > 0) {
    if (counter == 1) { slist = counter#" Aktorkanal ist an, der Kanal heißt: " #list ; }
    if (counter > 1) { slist = counter#" Aktorkanäle sind an, die Kanäle heißen: " #list; }
    } else{
    slist = "Kein Aktorkanal ist an";
}
!dom.GetObject("_Test").State(slist);
WriteLine(slist);
Grüße
Baxxy

nic_hmuser
Beiträge: 4
Registriert: 06.10.2020, 19:08
System: CCU

Re: CCU3 RaspberryMatic: Programm funktioniert nicht - IP wired

Beitrag von nic_hmuser » 18.10.2020, 14:51

Hi Baxxy,

danke dir erstmal für dein Skript und die Mithilfe.
Leider funktioniert dein Skript (noch) nicht. Es wird bei "Skript testen" leider nichts ausgegeben.

Es läuft wie ich getestet habe bis zum Beginn der zweiten foreach-Schleife (getestet mit "WriteLine("Hallo Welt!");" zwischen den Zeilen).

Es muss doch schon mal jemand mit IP wired diese Funktion umgesetzt haben :roll: :lol:
Ich bin für weitere Hilfe sehr dankbar.

Grüße

Baxxy
Beiträge: 1791
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 159 Mal
Danksagung erhalten: 259 Mal

Re: CCU3 RaspberryMatic: Programm funktioniert nicht - IP wired

Beitrag von Baxxy » 18.10.2020, 17:40

nic_hmuser hat geschrieben:
18.10.2020, 14:51
Ich bin für weitere Hilfe sehr dankbar.
Hmm... ohne eigene IP-Wired Geräte ist das nicht so einfach. Aber gut. Lassen wir doch mal eins von Alchys guten alten Scripten auf dein HmIPW-DRI32 los. Relevant sind dann nur die Kanäle mit denen das Licht geschalten wird.

Code: Alles auswählen

string auswahl = "KEQ0968370";
! +++++++++++++++++++
string index;
string liste = dom.GetObject(ID_DATAPOINTS).EnumUsedNames();
foreach (index, liste) {
var sserial = (index.StrValueByIndex(":",0).StrValueByIndex(".",1));
if (sserial == auswahl) {
Write(index #"\n");
}
}
Seriennummer anpassen und im "Script testen" ausführen.
Bin gespannt. :)
Grüße
Baxxy

nic_hmuser
Beiträge: 4
Registriert: 06.10.2020, 19:08
System: CCU

Re: CCU3 RaspberryMatic: Programm funktioniert nicht - IP wired

Beitrag von nic_hmuser » 23.10.2020, 17:09

Danke Baxxy - wenn ich dieses Skript mit angepasster SN laufen lassen kommt bei mir folgendes in der Ausgabe:

Code: Alles auswählen

HmIP-RF.001718A9A7808D:0.ACTUAL_TEMPERATURE
HmIP-RF.001718A9A7808D:0.CONFIG_PENDING
HmIP-RF.001718A9A7808D:0.ERROR_CODE
HmIP-RF.001718A9A7808D:0.ERROR_OVERHEAT
HmIP-RF.001718A9A7808D:0.ERROR_UNDERVOLTAGE
HmIP-RF.001718A9A7808D:0.IDENTIFICATION_MODE_KEY_VISUAL
HmIP-RF.001718A9A7808D:0.IDENTIFICATION_MODE_LCD_BACKLIGHT
HmIP-RF.001718A9A7808D:0.IDENTIFY_DURATION
HmIP-RF.001718A9A7808D:0.IDENTIFY_TARGET_LEVEL
HmIP-RF.001718A9A7808D:0.OPERATING_VOLTAGE
HmIP-RF.001718A9A7808D:0.OPERATING_VOLTAGE_STATUS
HmIP-RF.001718A9A7808D:0.UNREACH
HmIP-RF.001718A9A7808D:0.UPDATE_PENDING
HmIP-RF.001718A9A7808D:1.PRESS_LONG
HmIP-RF.001718A9A7808D:1.PRESS_SHORT
HmIP-RF.001718A9A7808D:1.STATE
HmIP-RF.001718A9A7808D:2.PRESS_LONG
HmIP-RF.001718A9A7808D:2.PRESS_SHORT
HmIP-RF.001718A9A7808D:2.STATE
HmIP-RF.001718A9A7808D:3.PRESS_LONG
HmIP-RF.001718A9A7808D:3.PRESS_SHORT
HmIP-RF.001718A9A7808D:3.STATE
HmIP-RF.001718A9A7808D:4.PRESS_LONG
HmIP-RF.001718A9A7808D:4.PRESS_SHORT
HmIP-RF.001718A9A7808D:4.STATE
HmIP-RF.001718A9A7808D:5.PRESS_LONG
HmIP-RF.001718A9A7808D:5.PRESS_SHORT
HmIP-RF.001718A9A7808D:5.STATE
HmIP-RF.001718A9A7808D:6.PRESS_LONG
HmIP-RF.001718A9A7808D:6.PRESS_SHORT
HmIP-RF.001718A9A7808D:6.STATE
HmIP-RF.001718A9A7808D:7.PRESS_LONG
HmIP-RF.001718A9A7808D:7.PRESS_SHORT
HmIP-RF.001718A9A7808D:7.STATE
HmIP-RF.001718A9A7808D:8.PRESS_LONG
HmIP-RF.001718A9A7808D:8.PRESS_SHORT
HmIP-RF.001718A9A7808D:8.STATE
HmIP-RF.001718A9A7808D:9.PRESS_LONG
HmIP-RF.001718A9A7808D:9.PRESS_SHORT
HmIP-RF.001718A9A7808D:9.STATE
HmIP-RF.001718A9A7808D:10.PRESS_LONG
HmIP-RF.001718A9A7808D:10.PRESS_SHORT
HmIP-RF.001718A9A7808D:10.STATE
HmIP-RF.001718A9A7808D:11.PRESS_LONG
HmIP-RF.001718A9A7808D:11.PRESS_SHORT
HmIP-RF.001718A9A7808D:11.STATE
HmIP-RF.001718A9A7808D:12.PRESS_LONG
HmIP-RF.001718A9A7808D:12.PRESS_SHORT
HmIP-RF.001718A9A7808D:12.STATE
HmIP-RF.001718A9A7808D:13.PRESS_LONG
HmIP-RF.001718A9A7808D:13.PRESS_SHORT
HmIP-RF.001718A9A7808D:13.STATE
HmIP-RF.001718A9A7808D:14.PRESS_LONG
HmIP-RF.001718A9A7808D:14.PRESS_SHORT
HmIP-RF.001718A9A7808D:14.STATE
HmIP-RF.001718A9A7808D:15.PRESS_LONG
HmIP-RF.001718A9A7808D:15.PRESS_SHORT
HmIP-RF.001718A9A7808D:15.STATE
HmIP-RF.001718A9A7808D:16.PRESS_LONG
HmIP-RF.001718A9A7808D:16.PRESS_SHORT
HmIP-RF.001718A9A7808D:16.STATE
HmIP-RF.001718A9A7808D:17.PRESS_LONG
HmIP-RF.001718A9A7808D:17.PRESS_SHORT
HmIP-RF.001718A9A7808D:17.STATE
HmIP-RF.001718A9A7808D:18.PRESS_LONG
HmIP-RF.001718A9A7808D:18.PRESS_SHORT
HmIP-RF.001718A9A7808D:18.STATE
HmIP-RF.001718A9A7808D:19.PRESS_LONG
HmIP-RF.001718A9A7808D:19.PRESS_SHORT
HmIP-RF.001718A9A7808D:19.STATE
HmIP-RF.001718A9A7808D:20.PRESS_LONG
HmIP-RF.001718A9A7808D:20.PRESS_SHORT
HmIP-RF.001718A9A7808D:20.STATE
HmIP-RF.001718A9A7808D:21.PRESS_LONG
HmIP-RF.001718A9A7808D:21.PRESS_SHORT
HmIP-RF.001718A9A7808D:21.STATE
HmIP-RF.001718A9A7808D:22.PRESS_LONG
HmIP-RF.001718A9A7808D:22.PRESS_SHORT
HmIP-RF.001718A9A7808D:22.STATE
HmIP-RF.001718A9A7808D:23.PRESS_LONG
HmIP-RF.001718A9A7808D:23.PRESS_SHORT
HmIP-RF.001718A9A7808D:23.STATE
HmIP-RF.001718A9A7808D:24.PRESS_LONG
HmIP-RF.001718A9A7808D:24.PRESS_SHORT
HmIP-RF.001718A9A7808D:24.STATE
HmIP-RF.001718A9A7808D:25.PRESS_LONG
HmIP-RF.001718A9A7808D:25.PRESS_SHORT
HmIP-RF.001718A9A7808D:25.STATE
HmIP-RF.001718A9A7808D:26.PRESS_LONG
HmIP-RF.001718A9A7808D:26.PRESS_SHORT
HmIP-RF.001718A9A7808D:26.STATE
HmIP-RF.001718A9A7808D:27.PRESS_LONG
HmIP-RF.001718A9A7808D:27.PRESS_SHORT
HmIP-RF.001718A9A7808D:27.STATE
HmIP-RF.001718A9A7808D:28.PRESS_LONG
HmIP-RF.001718A9A7808D:28.PRESS_SHORT
HmIP-RF.001718A9A7808D:28.STATE
HmIP-RF.001718A9A7808D:29.PRESS_LONG
HmIP-RF.001718A9A7808D:29.PRESS_SHORT
HmIP-RF.001718A9A7808D:29.STATE
HmIP-RF.001718A9A7808D:30.PRESS_LONG
HmIP-RF.001718A9A7808D:30.PRESS_SHORT
HmIP-RF.001718A9A7808D:30.STATE
HmIP-RF.001718A9A7808D:31.PRESS_LONG
HmIP-RF.001718A9A7808D:31.PRESS_SHORT
HmIP-RF.001718A9A7808D:31.STATE
HmIP-RF.001718A9A7808D:32.PRESS_LONG
HmIP-RF.001718A9A7808D:32.PRESS_SHORT
HmIP-RF.001718A9A7808D:32.STATE
Ich denke damit können wir auch nicht weiterarbeiten oder? :|

Antworten

Zurück zu „RaspberryMatic“