Duty_Cycle CCU2 als SysVar

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

tigger30926
Beiträge: 60
Registriert: 14.09.2015, 08:48
Hat sich bedankt: 2 Mal

Re: Duty_Cycle CCU2 als SysVar

Beitrag von tigger30926 » 05.02.2017, 14:41

Hallo,
ich würde gerne auch den Status meines CUL868 Stick mit einbauen. Aber ich finde leider keine Seriennummer.
Gibt es dafür schon eine Lösung ?

Vielen Dank
Beste Grüße
Tigger30926

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Duty_Cycle CCU2 als SysVar

Beitrag von Familienvater » 05.02.2017, 15:14

Hi,

der Dutycycle des CUL-Sticks kann mit dieser Methode hier nicht ermittelt werden, dafür müsste man auf cuxd-Seite schauen, ob man dort irgendwie an die Information rankommt. Ich meine, es wurde im Forum schon mal darüber diskutiert, wie man "low-Level" an die Info vom CUL-Stick kommt.

Der Familienvater

schneidy76
Beiträge: 340
Registriert: 18.11.2016, 22:36
Wohnort: ziemlich weit unten
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Duty_Cycle CCU2 als SysVar

Beitrag von schneidy76 » 08.04.2017, 18:09

Hallo, ich bekomme es irgendwie nicht hin:

Code: Alles auswählen

    #!/bin/tclsh
    #
    # Ermitteln des duty cycle der CCU
    # =================================================
    # Michael Thelen aka Black in Juni 2016
    #
    # Aufruf mit
    # tclsh dutyccu.tcl <SERNR> <SYSVAR> oder
    # Wenn nur eine CCU da ist mit
    # tclsh dutyccu.tcl CCU2 <SYSVAR>
    # =================================================

    load tclrpc.so
    load tclrega.so

    #Beide Übergabeparameter aus CMD holen
    set item1 [lindex $argv 0]
    set item2 [lindex $argv 1]
    # item1 enthält den Suchbegriff
    # item2 enthält den Namen der Systemvariablen
    # Seriennummer ist item2 eingepackt in 2 "*"
    set sernr ""
    append sernr "*" $item1 "*"

    set r [xmlrpc http://127.0.0.1:2001/ listBidcosInterfaces ]
    set dutycycle -1
    set lines [split [string map [list "ADDRESS" "\x00"] $r] "\x00"]
        # und nun durch alle teile mal durch
       foreach line $lines {
          set treffer [string match $sernr $line]
          # Seriennummer wurde gefunden
          if {$treffer==1} {
              regexp "DUTY_CYCLE (.*?) " $line dummy dutycycle
             break
             #dann aber auch break der schleife
          }
    }
    # Es wurde ein Dutycycle gefunden ()
    if {$dutycycle != -1} {
       set rega_cmd ""
       append rega_cmd "dom.GetObject('$item2').State('$dutycycle');"
       rega_script $rega_cmd
            puts "Success - Duty Cycle: $dutycycle"
    }
   
liegt in /usr/local und die Rechte sind 755

Systemvariable habe ich "DC_CCU" genannt, als Zahl 0 - 100 erstellt.

mein Programm läuft alle 5min (schon zweimal neu erstellt)

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/dutyccu.tcl MEQ0462856 DC_CCU");
CuxD läuft und funktioniert, das gleiche Gerät steuert ein Sonos Script erfolgreich.

meine letzte Variablenaktualisierung war aber zum Zeitpunkt der Erstellung ???
Raspberry Matic RP3, iobroker & Node-Red auf orangePi
HM Lan GW
--- HM-RF, HmIP-RF und knx Komponenten ---
Visualisierung auf Android 10" Tablett

nicolas-eric
Beiträge: 3302
Registriert: 07.01.2015, 23:26
Wohnort: Scheeßel
Hat sich bedankt: 21 Mal
Danksagung erhalten: 11 Mal

Re: Duty_Cycle CCU2 als SysVar

Beitrag von nicolas-eric » 08.04.2017, 18:25

Ich mache das ohne TCL Script nur mit einem WebUI Script, das ich von "alchy" gefunden habe.
Anstatt NAMESYSTEMVARIABLE muss der Name der dafür vorgesehenen Systemvariable rein.
Wenn das unter Script Testen funktioniert hat und Du das in ein Programm rein packst, kann vor die Zeile mit dem "WriteLine" ein Ausrufezeichen zum ausklammern.

>> H I E R <<

Code: Alles auswählen

Script entfernt - bitte nur verlinken - zum supporten mag ich keine zig Kopien
Zuletzt geändert von alchy am 08.04.2017, 23:05, insgesamt 1-mal geändert.
Grund: Script entfernt und verlinkt

Benutzeravatar
Black
Beiträge: 5471
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 419 Mal
Danksagung erhalten: 1071 Mal
Kontaktdaten:

Re: Duty_Cycle CCU2 als SysVar

Beitrag von Black » 08.04.2017, 19:01

geh mal per ssh über putty auf die ccu und gib die zeile mal direkt ein:

tclsh /usr/local/dutyccu.tcl MEQ0462856 DC_CCU

siehst du da eine stimmige Zahl oder eine Fehlermeldung ?
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

schneidy76
Beiträge: 340
Registriert: 18.11.2016, 22:36
Wohnort: ziemlich weit unten
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Duty_Cycle CCU2 als SysVar

Beitrag von schneidy76 » 08.04.2017, 20:37

Danke für deine Hilfe!

Code: Alles auswählen

tclsh /usr/local/dutyccu.tcl NEQ1331385 DC_CCU
invalid command name " "
    while executing
"    #!/bin/tclsh"
    (file "/usr/local/dutyccu.tcl" line 1)
Irgendwas scheint auch mit der Seriennummer nicht zu stimmen. NEQxxxx steht bei Hilfe / Info in der Webiu
Die MEQxxxx als Zuordnung in den LAN GW Einstellungen

Code: Alles auswählen

 puts [xmlrpc http://127.0.0.1:2001/ listBidcosInterfaces ]
{ADDRESS MEQ0836363 CONNECTED 1 DEFAULT 0 DESCRIPTION {} DUTY_CYCLE 1 FIRMWARE_VERSION 1.4.1 TYPE HMLGW2} {ADDRESS NEQ1331385 CONNECTED 1 DEFAULT 1 DESCRIPTION {} DUTY_CYCLE 6 FIRMWARE_VERSION 2.8.4 TYPE CCU2}
NEQ1331385 ist doch der Raspi?

Code: Alles auswählen

HM-RCV-50 BidCoS-RF MEQ0462856
Woher hat die Raspi diese Nummer?
Raspberry Matic RP3, iobroker & Node-Red auf orangePi
HM Lan GW
--- HM-RF, HmIP-RF und knx Komponenten ---
Visualisierung auf Android 10" Tablett

Gluehwurm
Beiträge: 12434
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Duty_Cycle CCU2 als SysVar

Beitrag von Gluehwurm » 09.04.2017, 18:19

Nur weil ich gerade drüber gestolpert bin ... hier gibt es die Antwort/ein neues Thema zur gestellten Frage
schneidy76 hat geschrieben:Woher hat die Raspi diese Nummer?
viewtopic.php?f=65&t=36559&p=354594#p354594

Damit schliesst sich der Kreis :roll:

Gruß
Bruno

schneidy76
Beiträge: 340
Registriert: 18.11.2016, 22:36
Wohnort: ziemlich weit unten
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Duty_Cycle CCU2 als SysVar

Beitrag von schneidy76 » 09.04.2017, 19:55

Hy Bruno, aber deswegen geht das Skript trotzdem noch nicht...
Raspberry Matic RP3, iobroker & Node-Red auf orangePi
HM Lan GW
--- HM-RF, HmIP-RF und knx Komponenten ---
Visualisierung auf Android 10" Tablett

Benutzeravatar
FritzRe
Beiträge: 352
Registriert: 09.12.2016, 03:46
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 16 Mal
Danksagung erhalten: 12 Mal

Re: Duty_Cycle CCU2 als SysVar

Beitrag von FritzRe » 03.10.2017, 18:15

Herbert_Testmann hat geschrieben: Voraussetzungen:
- CCU2 ab FW 2.17
- Je CCU (Lan Adapter) eine SysVar (im Beispiel "DC_CCU"), Typ Zah,l0 - 1000
Hallo
ist das bist 1000 richtig?

Bekomme damit immer direkt einen Wert von 10% oder mehr, selbst wenn ich den Eindruck habe das meine CCU2 nichts macht.
Ich weiß der Eindruck kann täuschen :?
MfG
Fritz

Benutzeravatar
Black
Beiträge: 5471
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 419 Mal
Danksagung erhalten: 1071 Mal
Kontaktdaten:

Re: Duty_Cycle CCU2 als SysVar

Beitrag von Black » 03.10.2017, 18:39

Schritt 1: via SSH auf CCU2 oder Raspi gehen
Schritt 2: tclsh + enter eintippen
- es erscheint das % des tcl interpreters
Schritt 3: load tclrpc.so + Enter eintippen
Schritt 4: puts [xmlrpc http://127.0.0.1:2001/ listBidcosInterfaces ] + enter eintippen

das dingen schmeisst nun als Antwort alle angemeldeten Bidcos Interfaces aus (CCU2, Rapsi, gateways)

Antwort ist so zu Interpretieren: (Das ist bei mir mit nuer CCU2)
{ADDRESS LEQxxxxxxxx CONNECTED 1 DEFAULT 1 DESCRIPTION {} DUTY_CYCLE 1 FIRMWARE_VERSION 2.4.3 TYPE CCU2}

LEQxxxxxxxx: Seriennummer (CCU2, Raspi oder Gateway)
TYPE CCU2: Was ist das Dingen, hier eine CCU2

Die Zahl hinter Duty Cycle ist der tatsächliche Dutycycle.

Greetz, Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“