PHP-Script mit cURL in HomeMatic Scriptsprache übersetzen?

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

robsdobs
Beiträge: 510
Registriert: 08.08.2015, 22:52
Danksagung erhalten: 1 Mal

Re: PHP-Script mit cURL in HomeMatic Scriptsprache übersetze

Beitrag von robsdobs » 17.10.2017, 16:19

Was soll das Script denn überhaupt machen?
sehr selten im Forum

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: PHP-Script mit cURL in HomeMatic Scriptsprache übersetze

Beitrag von alchy » 17.10.2017, 20:59

Wookbert hat geschrieben: Frage: Kann man dieses bash-Script auch Zeile für Zeile in HomeMatic-Script schreiben.


Was willst du denn erreichen, oder was macht das Script. Sieht aus, als ob du das SessionCookie abfischen willst um dann einen weiteren Befehl loszuwerden?
Naszugriff?


Wookbert hat geschrieben: oder irgendwie mit CUxD erschlagen, so daß es automatisch beim HomeMatic-Backup erfasst wird? Falls ja, wie?[/color][/b]
ähm, dir ist bewußt, das dein sh Script durchaus im Backup mitgesichert wird, wenn du es im richtigen Pfad auf der CCU speicherst?
Bei mir hat sich der Pfad

Code: Alles auswählen

/usr/local/addons
dafür eingebürgert. Der sollte mitgesichert werden inklusive der entsprechenden Unterordner.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Wookbert
Beiträge: 224
Registriert: 10.05.2013, 18:40
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: PHP-Script mit cURL in HomeMatic Scriptsprache übersetze

Beitrag von Wookbert » 18.10.2017, 05:36

Danke, das ist doch mal konstruktiv.
alchy hat geschrieben:Was willst du denn erreichen, oder was macht das Script. Sieht aus, als ob du das SessionCookie abfischen willst um dann einen weiteren Befehl loszuwerden?
Naszugriff?
Vollständig richtig erkannt. NAS ein- und ausschalten.
alchy hat geschrieben:ähm, dir ist bewußt, das dein sh Script durchaus im Backup mitgesichert wird, wenn du es im richtigen Pfad auf der CCU speicherst? Bei mir hat sich der Pfad

Code: Alles auswählen

/usr/local/addons
dafür eingebürgert. Der sollte mitgesichert werden inklusive der entsprechenden Unterordner.
Aha, das ist eine neue Info für mich. Alles was sich in /usr/local/addons ist in der .sbk-Backupdatei mit drin? Sprich ich packe das bash-Script da einfach rein und rufe es dann per HM-Skriptbefehl (der im Detail wie aussieht?) auf?

Ist /usr/local/addons per default gesetzt oder muss man irgendwo im WebUI der CCU auf diesen Ordner zeigen?
Und: Weiß jemand ob das mit der RaspberryMatic genauso funktioniert?

robsdobs
Beiträge: 510
Registriert: 08.08.2015, 22:52
Danksagung erhalten: 1 Mal

Re: PHP-Script mit cURL in HomeMatic Scriptsprache übersetze

Beitrag von robsdobs » 18.10.2017, 06:45

Wookbert hat geschrieben:Ist /usr/local/addons per default gesetzt oder muss man irgendwo im WebUI der CCU auf diesen Ordner zeigen?
Und: Weiß jemand ob das mit der RaspberryMatic genauso funktioniert?
Ja und ja. Der Ordner ist da und das auch unter RaspberryMatic.

Einfach da rein und per system.exec script Befehl aufrufen.
sehr selten im Forum

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: PHP-Script mit cURL in HomeMatic Scriptsprache übersetze

Beitrag von alchy » 18.10.2017, 18:35

Dann versuche ich es zur Abwechslung mal konstruktiv weiter.

Darf ich erfahren um welches NaS es sich handelt :?: Ich will nicht alles selber rausfinden.
Ein wget auf den Link gibt was zurück?

Ja Scripte die im geposteten Pfad gespeichert sind, werden mit im Backup aufgenommen.
Auch gibt es den Pfad standardmäßig schon. Einen Unterordner kannst du dann selber mittels geeigneter Mittel anlegen.
Es wäre sicherlich leichter und hilfreicher für dich, wenn du dies mal ausprobieren tätest. :wink:
  • SSH auf der CCU2 einschalten und ein Passwort vergeben wie >> H I E R << auf dem Bild angezeigt.
  • mittels >> PUTTY << musst du dann eine Verbindung per ssh zur CCU aufbauen
  • entsprechenden kommandozeilen eingeben...
    oder auch grafisch mittels
  • sftp wie >>H I E R<< auch schon beschrieben.
  • ...

Dein Script könntest du dann so aufrufen mittels Homematic Script

Code: Alles auswählen

string stdout;
string stderr;
system.Exec ("/bin/sh /usr/local/addons/meinecoolensscripte/coolesscript.sh", &stdout, &stderr);
gesetzt den Fall, es macht was es soll und die Rechte sind auch entsprechend gesetzt.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

BadenPower

Re: PHP-Script mit cURL in HomeMatic Scriptsprache übersetze

Beitrag von BadenPower » 18.10.2017, 19:41

robsdobs hat geschrieben:
Wookbert hat geschrieben:Ist /usr/local/addons per default gesetzt oder muss man irgendwo im WebUI der CCU auf diesen Ordner zeigen?
Ja und ja. Der Ordner ist da und das auch unter RaspberryMatic.
Auf einer AddOn-freien CCU2 ist der Ordner standardmäßig allerdings nicht vorhanden.
.

Fonzo
Beiträge: 6722
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 479 Mal

Re: PHP-Script mit cURL in HomeMatic Scriptsprache übersetze

Beitrag von Fonzo » 22.10.2017, 22:10

Wookbert hat geschrieben: Hat noch jemand einen brauchbaren Tipp oder eine ganz konkrete Lösung?
Das eine ist natürlich alles von PHP umzuschreiben wenn Du etwas in PHP findest was Du verwenden willst. Einfacher ist es zumindest allemal einfach das PHP zu nutzten das Du irgendwo als Vorlage gefunden hast, das erspart das umschreiben in andere Sprachen. IP-Symcon selber nutzt PHP als Grundlage, da kannst Du so ein Skript 1:1 reinkopieren und ausführen und auch Homematic mit steuern und kannst auch PHP mit allen Befehlen von zur Zeit bis Version 5.6.3 nutzten. Somit hast Du Zugriff auf Regular Expressions und hast mit PHP eine Sprache zur Verfügung, die gängig ist und Du kannst auch Objektorientierte Programmierung nutzten. Weiterhin sparst Du Dir dann irgendwelche Umwege über CuxD.

Wookbert
Beiträge: 224
Registriert: 10.05.2013, 18:40
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: PHP-Script mit cURL in HomeMatic Scriptsprache übersetze

Beitrag von Wookbert » 23.10.2017, 21:03

Sorry, daß ich jetzt erst reagiere, aber die letzte Woche unter Arbeit begraben gewesen.
alchy hat geschrieben:Dann versuche ich es zur Abwechslung mal konstruktiv weiter.
Konstruktiv ist super.
alchy hat geschrieben:Darf ich erfahren um welches NaS es sich handelt :?: Ich will nicht alles selber rausfinden.
Ein wget auf den Link gibt was zurück?
FreeNAS, wobei das ja nur die Software ist. Das Serverboard, welches ich ein-/ausschalten möchte, ist ein ASRock E3C226D2I. Das hat eine IPMI-Schnittstelle, also eine zusätzliche Ethernet-Buchse mit separater IP, die immer an ist, und über die man u.a. den Server hoch- und runterfahren kann.

Mit wget fischen wir nach erfolgtem Login die SessionID ab, ohne die die IPMI die Power Control-Kommandos nicht akzeptiert.

Ein Kumpel von mir hat das sowohl als PHP-, als auch als bash-Skript geschrieben, und beides funktioniert perfekt. Die Frage war jetzt halt, wie man das so in HomeMatic integriert, daß PHP oder bash-Skript Update- und/oder Backup-fest direkt auf dem RPi3, auf dem meine RaspberryMatic läuft, liegen. Also die Skripts nicht auf einem externen Server (weil hausintern sonst kein weiterer Server 24/7 läuft).

Ich/wir versuchen uns mal an Deinen Tipps und berichten, ob’s klappt oder fragen, wenn’s hakt. Vielen Dank für den Moment!
Zuletzt geändert von Wookbert am 18.02.2020, 02:46, insgesamt 1-mal geändert.

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: PHP-Script mit cURL in HomeMatic Scriptsprache übersetze

Beitrag von alchy » 23.10.2017, 21:22

Der Aufruf des sh ist ja von mir oben beschrieben.
Es sollte auch ein Homematicscript in der Lage sein, so etwas zu machen.
Zumindest kann ich mich dunkel erinnern, ähnliches schon mal für User erstellt zu haben. :mrgreen:

Wenn du weitere Hilfe brauchst, melde dich einfach.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Wookbert
Beiträge: 224
Registriert: 10.05.2013, 18:40
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: PHP-Script mit cURL in HomeMatic Scriptsprache übersetze

Beitrag von Wookbert » 28.10.2017, 12:57

alchy hat geschrieben:Dein Script könntest du dann so aufrufen mittels Homematic Script

Code: Alles auswählen

string stdout;
string stderr;
system.Exec ("/bin/sh /usr/local/addons/meinecoolensscripte/coolesscript.sh", &stdout, &stderr);
OK. Hat alles super geklappt, /usr/local/addons existierte schon, das Draufschieben der Scripts ist Dank Transmit auf dem Mac ein Kinderspiel. Funktioniert also, kann mein FreeNAS jetzt via HM ein- und ausschalten. Bleibt nur abzuwarten, ob der Addons-Folder tatsächlich das Backup und Update auf der RaspberryMatic überlebt.
Zuletzt geändert von Wookbert am 28.10.2017, 19:05, insgesamt 1-mal geändert.

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“