neue PHP-Module als Ersatz meiner Delphi-Module

Hallo Tommi,

das Modul greift die Daten ab die die Wetterstation in einem Ordner schreibt oder liege ich da falsch?

Wo die Daten liegen ist an sich egal, ob auf einem Raspi oder Win 10 Rechner denke ich.

Linux ist nicht so meine Welt, ich habe es auf meiner NAS kürzlich abgeschalten.

Das Modul greift über Webzugriff auf die Daten zu, dann müsste es doch auch Lokal darauf zugreifen können.

Das die Daten nicht direkt aus der Wetterstation rausgelesen werden können dachte ich mir.

Wahrscheinlich habe ich gerade den totalen Denkfehler.

Für einen kurze Hilfestellung bin ich dankbar.

VG

stern

Das ist so nicht korrekt. Von alleine legt die Wetterstation nichts ab.

Mein Modul startet das Auslesen der Wetterstation durch ein nur für Linux verfügbares Programm via Webzugriff und bekommt als Ergebnis die Ausgabe der von diesem Programm ausgegebenen Daten. Es gibt keine Files. Um das Modul auf lokale Files auf Windows umzustellen muss die Abfragelogik des Moduls geändert und zusätzlich das Ausleseprogramm auf Windows portiert werden. Letzteres ist dann schon Hardcore.

Tommi

Liebe Forumsgemeinde,
ein paar alte FS20 Steckdosen und Dimmer hatte ich noch herumliegen und jetzt geschafft, diese mittels CUL USB-Stick und Tommis Modulen in IPS einzubinden - vielen Dank an Tommi für diese tolle Arbeit!
Ich kann auch die Steckdosen mittels On / Off Buttons in der Instanz und über das WebFront (über die Variable „Status“) ein und ausschalten.

Was mit aber nicht gelungen ist: wie steuere ich die FS20 Devices über Script? Wenn ich z. B.

SWD_SetIntensity(56198, 100);

ausführe, dann passiert bei dem Gerät gar nichts. Wer kann mir helfen?

Ich gehe davon aus, das Du das Switchdevice nicht selber angelegt hast sondern vom CUL Splitter angelegt wurde. Andernfalls fehlen Dir wahrscheinlich einige Settings.

Prüfe bitte, welche Eigenschaften dem Gerät zuerkannt worden sind:

print IPS_GetProperty(<instance>,'CapList');

Bei einem Dimmer muss auch „Dimmer“ drin stehen, sonst macht der SetIntensity Befehl auch nichts
Das SetIntensity ist nur für echte Dimmer gedacht, für die Schalter sollte SetSwitchMode verwendet werden. Die Dimmer sollten auch mit einem Dimmbefehl (z.B. 70%) beim CUL angelernt werden, da ansonsten nur ein Schalter erkannt wird.

Schau doch mitte mal ins Logfile, nachdem Du den Befehl abgesetzt hast, ob dann irgendwelche Hinweise drin sind.

Tommi

Hallo Tommi,
habe jetzt die Dimmer neu mit langen Tastendruck also einem Dimmbefehl angelernt - das war das Problem. Vielen Dank für die Lösung.
Dirk

Hi Leute,

kann mir einer sagen, wie ich einen FS20_SwitchDuration nachbaue mit dem Modul?
Ich habe das SWD_SetDuration probiert, doch ich kann den FS20 Aktuator nicht für ein paar Sekunden anschalten.

Grüße
Bubi124

Eigentlich sollte das funktionieren. Steht ein Hinweis im Messageslog? Ich kann es mangels passender Geräte nur nicht selber testen.

Du könntest das Debugfenster vom Splitter und vom Device anmachen und schauen, was beim Absetzen des Befehls alles passiert. Am Ende sollte ein F Kommando für den CUL generiert worden sein. Das kannst Du überprüfen, ob es lt. CUL Befehlsreferenz die Funktion auslösen sollte.

Tommi

Ich mache:
SWD_setDuration(37148,20);

und im MessageLog steht:
| CUL | SWD_ActionHandlerinvalid FS20 Action Command Timer

Ich sehe wie der Timer auf den Zähler geht, und wie er auch wieder auf 0 springt, aber das licht schaltet er nicht…

im Debug steht:
Data arrived:{„DataID“:"{6FB0F652-2A47-46B1-AFC5-E327E45E59F9}",„Type“:„FS20“,„Device“:„314314121111“,„Cap“:„Timer“,„Value“:20}

ein Transmit geht aber über den Socket nicht raus.:confused:

Bubi124

Der Eintrag im Messagelog war die notwendige Info. Die Timer Funktion war aus irgendwelchen Gründen gar nicht drin. Ich habe sie jetzt nachgerüstet. Bitte aktualisieren und wieder mit Debug testen.

Danke!

Tommi

Hallo
Hab mal PHP7 getestet und beim Modul APCUPSD wird die Funktion Parse ( Zeile 439 ) als Fehler ausgegeben.

Fatal error: Uncaught TypeError: Argument 1 passed to APCUPSD::Parse() must be of the type string, array given, called in C:\Program Files (x86)\IP-SYMCON\modules\ipsymcon-phpmodule-by-Tommi\APCUPSD\module.php on line 367 and defined in C:\Program Files (x86)\IP-SYMCON\modules\ipsymcon-phpmodule-by-Tommi\APCUPSD\module.php:439

Uebergebener Wert ist ein Array aber als String definiert. Das „alte“ PHP ist da anscheinend nicht so kleinlich :slight_smile:

String ist auch falsch an der Stelle.
Danke fürs Melden. Fix ist online

Tommi

Hi Tommi,

Send to FS20 Device 113233421111 (09AD00): F09AD0000

leider wird der String nicht richtig zusammengesetzt. Kannst Du mir da nochmal helfen?
eigentlich müsse der „On for Timer 5 sekunden“ so aussehen:

F09AD003A2501<CR><LF> //Habs mit meinem alten FHZ1000 gesendet :wink:

ich glaube der String wird nicht richtig zusammengesetzt oder der Befehl für den Timer wird nicht angehängt.

Grüße
Bubi

In der aktuellen Version habe ich die SetDuration Implementierung speziell für FS20 etwas ausgebaut. Details in der Doku bzw. siehe Diff.

Tommi

Hi Tommi,

erstmal ein grosses Danke für Dein Modul und der Arbeit daran!

In der neuen version gibt es für den Timer laut der Beschreibung:
SWD_SetDuration($id,$seconds,$action=null)

Welchen Wert erwartet ‚$action‘? ich habe es mit ‚true‘ , ‚1‘ und ‚on‘ versucht, bekomme aber lediglich als Aktion die Möglickeit den FS20 Aktor vom Zustand AN nach AUS zu schalten und dann nach $seconds wieder AN. Funktioniert super…aber umgekert also „Licht an für 5 sekunden“ bekomme ich nicht hin. Mache ich was falsch? Erwartet $action ein Wert?
Wenn der Aktor also im Ursprungszustand AUS ist, dann funktioniert der Timer irgendwie nicht…

Grüße
Bubi

Der Aktion Parameter legt den Zustand des Aktors während der angegebenen Dauer fest. Wird kein Parameter mitgegeben, wird der aktuelle Zustand der Status Variable gelesen und der umgekehrte Zustand während der Zeit geschaltet.


$id=32293 /*[CUL/CUx Devices\FS20 232422311132]*/;
$dur=10;
//schaltet den Aktor für 10s an
SWD_SetDuration($id, $dur,1);
//schaltet den Aktur für 10s aus
SWD_SetDuration($id, $dur,0);


HTH
Tommi

Hi,

liest sich ja prima mit der CUL.
Ist es auch möglich, ein Jeelink anzuklemmen?
Ich nutze einen Haufen Technoline TX 29 Module.
Diese habe ich nun über die CCU2 via CUXD angebunden und leider erst hinterher gelesen, dass man Geräte die via CUXD angebunden sind nicht auslesen kann :frowning:

Ist es auch möglich, ein Jeelink anzuklemmen?

Keine Ahnung. Ich habe keinen. Zum Thema Jeelink meine ich hier aber auch schon Threads gesehen zu haben.
Am einfachsten mal den Debug vom CUL Splitter aufmachen ob da was mitkommt, was er noch nicht kennt.

Tommi

Seit ein paar Tagen läuft bei mir das AVMAH Modul nicht mehr.
Ich glaub das liegt am letzent Update vom IPS (Kernel Datum 5.1.2018).
Ich hab aber auch letzte Woche die Firmware meiner FB 7490 geupdatet.
Ich bekomme folgende Meldung:

Ich habe auch schon von jemanden gehört, das es mit der letzten 4.4 Beta diese Probleme gibt. Mit der Stable ist es OK.

Tommi

Das IPS Update von heute sollte es auch richten :slight_smile:
Michael