[erledigt] Programme per ext. Script ansprechen.

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

dll-live
Beiträge: 93
Registriert: 08.01.2017, 14:42
Hat sich bedankt: 10 Mal

[erledigt] Programme per ext. Script ansprechen.

Beitrag von dll-live » 16.04.2018, 20:00

Liebe Foren-Gemeinde
noch ein Post von mir.

Wie kann ich ein Programm von extern per Script triggern (starten)?

Gruss Dani
Zuletzt geändert von dll-live am 17.04.2018, 19:28, insgesamt 1-mal geändert.

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

Re: Programme per ext. Script ansprechen.

Beitrag von Black » 16.04.2018, 20:11

vllt ein wenig besser beschreiben...


was ist extern ? womit starten ?
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

dll-live
Beiträge: 93
Registriert: 08.01.2017, 14:42
Hat sich bedankt: 10 Mal

Re: Programme per ext. Script ansprechen.

Beitrag von dll-live » 16.04.2018, 20:14

Hallo Black.

Gern gebe ich weitere auskünfte.

Ich würde gerne die Programme auf der Homematic CCU2 - von meinem Linux-Rechner aus starten.
(z.B.: Gibt es ein Programm auf der Homematic das Heisst- MAch das Fenster auf und Shcliesse es nach 45 min automatisch wieder - nennen wir es "Fenster auf",
Gerne würdei ch nun auf dme Linux.rechner einen Befhle an die CCU absetzen mit dem das Script "Fenster auf" ausgeführt wird.

Hoffe das dies nun verständlicher ist.

Gruss Dani

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

Re: Programme per ext. Script ansprechen.

Beitrag von Black » 16.04.2018, 20:22

geht... wenn du beispielsweise python auf deiner Maschine hast:

Code: Alles auswählen

     from datetime import datetime
    from urllib.request import urlopen
    from http.server import BaseHTTPRequestHandler, HTTPServer
    import time as t
    import http.client

    # Verbindungsinformationen zur CCU2
    # ---------------------------------
    ipCCU2      = "192.168.2.2"  <----------------IP DEINER CCU
    xmlrpcPort  = 8181
    ENpushCCU   = True

    def pushState (command):
    # im Testmode schreiben wir nicht wild auf de CCU rum
        if ENpushCCU:
            try:
                httpServ = http.client.HTTPConnection(ipCCU2, xmlrpcPort)
                httpServ.connect()
                httpServ.request('POST', 'blabla.exe', command)
                response = httpServ.getresponse()
                reason= response.status,response.reason
                httpServ.close()
                return reason
            except:
            # Wenn eine Fehlübertragung: egal in dem Test
                return


    pushState ('dom.GetObject ("ZZTEST").State (22.22)')   


ein programm startest dann mit dom.GetObject (ID_PROGRAMS).Get ("IchBinDeinProgrammName").ProgramExecute (true);
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

dll-live
Beiträge: 93
Registriert: 08.01.2017, 14:42
Hat sich bedankt: 10 Mal

Re: Programme per ext. Script ansprechen.

Beitrag von dll-live » 16.04.2018, 20:35

Sali Black.

Meine Maschine hat Python drauf.

Darf ich fragen woher du die ganzen Befehle kennst.
Wie komm ich zu dazu?

Gruss
Dani

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

Re: Programme per ext. Script ansprechen.

Beitrag von Black » 16.04.2018, 20:39

python Befehle ? ich hab da mehrere nett fette Fachbücher über Python. und in Python ist auch mein Gateway zur Anbindung einer Buderus Logamatic 2107 Heizungssteuerung mit einem nachgebildeten 3964R Protokoll programmiert ^^

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

dll-live
Beiträge: 93
Registriert: 08.01.2017, 14:42
Hat sich bedankt: 10 Mal

Re: Programme per ext. Script ansprechen.

Beitrag von dll-live » 16.04.2018, 20:45

Sali Balck
Ach so ja dann ist mein leiden ja nur doppelt so schlimm... Python geht so einigermassen udn die CCU habei ch auch nicht komplett im griff. juhui....

Zwei blöde Fragen zu dem Code:

In der Zeile " pushState ('dom.GetObject ("ZZTEST").State (22.22)') "
Für was steht das 22.22?

Ist die Annahme: das in der Zeile " httpServ.request('POST', 'blabla.exe', command)" das blabla.exe genau so stehen bleiben muss richtig?
Zudem gehe ich davon aus, dass das command -> sprich "ZZTEST" der Name meines Programms ist. richtig?

Gruss Dani

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

Re: Programme per ext. Script ansprechen.

Beitrag von Black » 16.04.2018, 21:06

nein, die zeile wäre bepsielhaft dazu da, eine Systemvariable mit dem Namen ZZTEST auf den Wert 22.22 zu setzen.

zu müsstest schreiben

pushState ('dom.GetObject (ID_PROGRAMS).Get ("IchBinDeinProgrammName").ProgramExecute (true)');

viel Erfolg, 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

dll-live
Beiträge: 93
Registriert: 08.01.2017, 14:42
Hat sich bedankt: 10 Mal

Re: Programme per ext. Script ansprechen.

Beitrag von dll-live » 16.04.2018, 22:42

Hallo Black.

Leider will das nicht ganz.

Mein Script sieht sfolgendermassen aus:

Code: Alles auswählen

from datetime import datetime
from urllib.request import urlopen
from http.server import BaseHTTPRequestHandler, HTTPServer
import time as t
import http.client

        # Verbindungsinformationen zur CCU2
        # ---------------------------------
ipCCU2      = "192.168.1.76"
xmlrpcPort  = 8181
ENpushCCU   = True

def pushState (command):
       # im Testmode schreiben wir nicht wild auf de CCU rum
            if ENpushCCU:
                try:
                    httpServ = http.client.HTTPConnection(ipCCU2, xmlrpcPort)
                    httpServ.connect()
                    httpServ.request('POST', 'blabla.exe', command)
                    response = httpServ.getresponse()
                    reason= response.status,response.reason
                    httpServ.close()
                    return reason
                except:
                # Wenn eine Fehlübertragung: egal in dem Test
                    return

pushState ('dom.GetObject(ID_PROGRAMS).Get("Testig").ProgramExecute(true)');
der aufruf dazu lautet:

Code: Alles auswählen

python3 Homematic_prgorammstarten_test.py
Doch auf der Homematic-Seite bewegt sich nichts.

Anbei ein Printscreen des Programms:
testprogramm.PNG
testprogramm.PNG (24.05 KiB) 2976 mal betrachtet
Wenn ich es direkt auf der Hm ausführe blinkt die Leuchte 5x kurz blau.

Kann mir jemand noch beim "letzten" schritt helfen - sprich mir zeigen - was noch nötig ist, dmait es funktioniert.

Gruss Dani

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

Re: Programme per ext. Script ansprechen.

Beitrag von Black » 16.04.2018, 22:49

wie sieht die firewalleinstellung in deiner ccu aus ?
unter HomeMatic XML-RPC API und Remote HomeMatic-Script API beides auf vollzugriff ?
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 Zentrale (CCU / CCU2 / CCU3 / Charly)“