Nutzung von PHP-Scripten

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

Antworten
Schablone
Beiträge: 42
Registriert: 03.05.2008, 18:58
Wohnort: Bocholt

Nutzung von PHP-Scripten

Beitrag von Schablone » 11.09.2009, 19:58

Hallo alle zusammen,

ich möchte die Möglichkeit nutzen PHP-Scripting in meinen Macros anzuwenden.
Ich habe mir die Installationsbeschreibung von der Contronics-Seite heruntergeladen.
Wenn ich das richtig verstehe brauche ich zur Nutzung von PHP nur die entsprechenden Dateien
in das Programmverzeichniss der Studio-Version auf meinem PC zu kopieren.

Und jetz die Froche :wink:

1. Muss ich auf der CCU noch was installieren?
2. Wann wird der PHP-Server (Pro) (von HomeMatic - INSIDE) auf der CCU installiert?
----> (ganz neben bei eine sehr schöne und informative Seite -> also Hut ab)

Besten Dank für eure Hilfe und bis dann

Schablone

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Nutzung von PHP-Scripten

Beitrag von buempi » 12.09.2009, 15:26

Hallo Schablone

Das PHP-Paket, welches du bei Contronics runtergeladen hast, hast du doch auf der Download-Seite von Homeputer für die FHZ gefunden? Dort ist es tatsächlich so, dass man nur die angegebenen Dateien ins Homeputer-Programmverzeichnis kopieren muss, und schon kann man PHP-Skripte in Homeputer-Makros integrieren. Wenn auch noch ein paar lästige Bugs drin sind, eine ganz tolle Sache!

In Homeputer CL gibt es aber diese Erweiterung meines Wissens (noch) nicht.

Viele Grüsse
Bümpi

Schablone
Beiträge: 42
Registriert: 03.05.2008, 18:58
Wohnort: Bocholt

Re: Nutzung von PHP-Scripten

Beitrag von Schablone » 13.09.2009, 15:42

Hallo Bümpi,

besten Dank für deine Antwort.
Ich dachte dass man PHP-Scripting auch für die homputer CL Studio-Version nutzen kann.
Ich hatte es zumindest gehofft. Die Funktionen der Makrosprache reichen mir nicht.
Ich hätte gerne die Com-Schnittstelle von Microsoft genutzt um Daten zu Excel zu exportieren bzw. zu importieren.
Oder um ggf. einfache Textdateien zu bedienen.

Wozu gibt es dann den PHP-Server (PRO) für die Homematic? Ich dachte dass der die PHP-Befehler interpretiert.

Bitte entschuldige meine Fragerei, aber ich bin noch ein absoluter HomeMatic -Rookie.
Ich komme aus der Automatisierungs-Ecke und kenne durch meinen Beruf VBS und C-Scripting.
Ich habe mich in den letzten Tagen ein wenig mit PHP beschäftigt und fühlte mich durch meine Vorkenntnisse sofort "zu Hause".

Bis dann
Schablone

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Nutzung von PHP-Scripten

Beitrag von buempi » 13.09.2009, 17:39

Hallo Schablone

Ich kenne den PHP-Server (Pro) nicht, und kann dir deshalb auch nicht sagen, was der alles kann; zumal die Beschreibung im HomeMatic-Blog von Kaju noch fehlt. Soweit ich es verstanden habe, dient er in erster Linie dazu, eine eigene Visualisierung zu erstellen.

Auf jeden Fall kann er nicht in Homeputer CL integriert werden, wie PHP in Homeputer für die FHZ. Dort ist es so, dass PHP-Skripte mitten in einem Makro stehen könne. Man kann im Skript auf alle Variablen, Zustände und Werte in Homeputer zugreifen und diese auch verändern. Abgesehen von der unterschiedlichen Syntax merkt man also gar nicht, dass in einem Makro ein PHP-Baustein drin ist.

Schon vor längerer Zeit hat Contronics angekündigt, dass demnächst der Befehl SCHREIBEDATEI() auch in Homeputer CL realisiert würde: http://homematic-forum.de/forum/viewtop ... =30&t=3126

Bisher habe ich nicht gehört, dass das realisiert sei. Andererseits: Wenn ich diese Anweisung in einem Makro eintrage, meckert der Compiler nicht!!! Vielleicht ist das schon längst integriert, aber nicht dokumentiert? Ich habe keine CCU und kann es deshalb nicht testen (jczarnetzki hat wohl schon Recht: Ich muss mir so ein Ding anschaffen; speziell fürs Forum :wink: )

In Homeputer für die FHZ wäre die Syntax wie folgt:

Code: Alles auswählen

Schreibedatei("C:\Meine.txt","Das ist eine Testzeile")
So könntest du wenigstens TXT- oder CSV-Dateien erstellen, die sich in Excel importieren und auswerten liessen. Der umgekehrte Weg allerdings - etwas in Excel zu exportieren und dann in Homeputer auszuwerten - geht nicht. Auch in Homeputer für die FHZ kann man nur über PHP auf externe Dateien zugreifen.

Wenn SCHREIBEDATEI() noch nicht funktioniert, liesse sich das gleiche Ergebnis auch über den Befehl STARTWIN() erreichen. Du könntest in VB oder C eine EXE schreiben, welche einfach die übergebenen Parameter in eine Datei schreibt. Also:

Code: Alles auswählen

Startwin("C:\Deine.EXE,Das ist eine Testzeile,C:\")
Das bedingt dann allerdings, dass rund um die Uhr ein Windows-PC mit VisuWin läuft!

Viele Grüsse
Bümpi

Schablone
Beiträge: 42
Registriert: 03.05.2008, 18:58
Wohnort: Bocholt

Re: Nutzung von PHP-Scripten

Beitrag von Schablone » 13.09.2009, 18:28

Hallo Bümpi,

besten Dank für deine ausführliche Antwort.
buempi hat geschrieben: Wenn SCHREIBEDATEI() noch nicht funktioniert, liesse sich das gleiche Ergebnis auch über den Befehl STARTWIN() erreichen. Du könntest in VB oder C eine EXE schreiben, welche einfach die übergebenen Parameter in eine Datei schreibt. Also:

Code: Alles auswählen

Startwin("C:\Deine.EXE,Das ist eine Testzeile,C:\")
geniale Idee

Besten Dank

Schablone

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Nutzung von PHP-Scripten

Beitrag von buempi » 13.09.2009, 19:59

Hallo Schablone

Danke für das Kompliment! Genial ist die Idee nicht gerade, aber wenn es deine Zwecke erfüllt...

Ein Problem könnte sich noch ergeben: Wenn du z.B. auch Temperaturen in die Datei schreiben willst, verwendet Homeputer ja das Komma als Dezimaltrennzeichen. Den Text, den du als Parameter mit STARTWIN() übergeben willst, musst du in diesem Fall ja vorher in eine Text-Variable schreiben. Genauer gesagt: Die ganze Befehlszeile.

Nun ist da dann aber plötzlich ein Komma zu viel, weil Homeputer (unverständlicherweise) das Komma auch gleichzeitig als Trennzeichen für die STARTWIN()-Parameter benutzt.

In diesem Fall empfiehlt sich folgendes Vorgehen (Befehlszeile ist eine Variable vom Typ Zeichen):

Code: Alles auswählen

Befehlszeile := "C:\Deine.EXE," + Datum + ";" + Uhrzeit + ";"
Befehlszeile := Befehlszeile + "Wohnzimmer;"
Befehlszeile := Befehlszeile + ersetzen(TempWohnzimmer, "," , ".")
Befehlszeile := Befehlszeile + ",C:\"

Startwin(Befehlszeile)
"Aufgelöst" sieht der Befehl dann so aus:

Code: Alles auswählen

"C:\Deine.Exe,13.09.2009;20:00:00;Wohnzimmer;21.6,C:\"
Die erste und die vierte Makro-Zeile kannst du auf diese Art in allen Makros verwenden, die was in die Datei schreiben sollen.

Viele Grüsse
Bümpi

Schablone
Beiträge: 42
Registriert: 03.05.2008, 18:58
Wohnort: Bocholt

Re: Nutzung von PHP-Scripten

Beitrag von Schablone » 14.09.2009, 10:00

Hallo Bümpi,

ich werde jetzt erst mal mit STARTWIN() rumspielen.
(Hab grad Urlaub + keine lange Mängelliste meiner Frau :wink: )
buempi hat geschrieben: Danke für das Kompliment! Genial ist die Idee nicht gerade, aber wenn es deine Zwecke erfüllt...
Es erfüllt seinen Zweck. Damit hat man einen Weg aus homeputer.

Letzten Endes wäre eine Lösung mit PHP-Scripting besser. Es geht halt nur nicht. :(
Ich bin gespannt auf phpMatic. Vieleicht macht eine Umstellung auf dieses System ja Sinn.


Besten Dank
Schablone

Antworten

Zurück zu „homeputer CL“