neue PHP-Module als Ersatz meiner Delphi-Module

OK, danke, ich schaue mir das an.

Vielleicht kann mir irgendwer helfen. Ich komme nicht weitet mit dem Fritz DECT 200 und dem Schalten.
In der Testumgebung „Only for supported actors“ funktioniert On / Off einwandfrei. Sobald ich jedoch die Variable „Status“ ändere tut sich nichts. Was mache ich falsch?
Vielen vielen Dank.
Frank

FritzBox 7.01; Symcon 5.0; Branch 5.0

Man konnte noch nie durch das ändern eine Variable ein Gerät ansteuern.
https://www.symcon.de/service/dokumentation/konzepte/variablen/
Michael

Guten Morgen,

ich denke, ich stehe total auf dem Schlauch. Ich komme einfach nicht weiter. Wie lautet dann der Befehl oder das Script um das Gerät „Fritz DECT 200“ anzusteuern?

Ich finde keine Dokumentation darüber. Nix. Ich hab das Forum hier bereits „geschüttelt“ usw. finde nix. Man sieht das auch daran, dass dies mein zweiter Beitrag überhaupt ist.

Ich finde nix - auf der Seite Github GitHub - Tommi2Day/ipsymcon-phpmodule-by-Tommi: PHPModule for IPSymcon steht nur

Actions:
Switching of capable Devices like DECT!200 and Fritz!Powerline 546. Changes on the status will be transmitted to the connected actor

Changes on the status will be transmitted to the connected actor -> also Variable ändern oder scheinbar doch nicht??

Das einzige was ich doch will, ist das eine Gruppenadresse von KNX den Actor schaltet :banghead:

Wer kann mir (verzweifelten) und scheinbar absoluten Vollpfosten hier weiterhelfen? D a n k e und schönen 3. Advent!!!

SWD_SetSwitchMode($id,$state): set the switch to the desired state
Steht da in der Doku vom Modul.
Michael

Danke Michael.

Dem wäre nur hinzuzufügen, das vom Webfront diese Funktion über ein Aktion Script aufgerufen wird, d.h. wenn man dort den Status ändert, sollte der DECT200 auch geschaltet werden.

Tommi

Danke danke danke,
mit

SWD_SetSwitchMode($id,$state): set the switch to the desired state

geht es endlich! Jippi, der 3. Advent ist gerettet!

Hallo Tommi
Bin auf dein super Modul NUT gestossen. Vielen Dank für diese Arbeit. Nach anfänglichen Schwiereigkeiten resp. Unklarheiten wie das Modul einzurichten ist konnte ich meine beiden USV (Eaton und APC) schlussendlich doch einbinden. Da jede USV direkt mit einer Synology verbunden ist und diese auch gleich den NUT-Server darstellen und die beiden an unterschiedlichen Stromquellen angeschlossen sind habe ich dementsprechend zwei getrennte Module konfiguriert.
Soweit funktioniert auch alles und die Daten werden im konfigurierten Intervall abgefragt. Allerdings erscheint bei mir neben den beiden Instanzen jeweils ein Ausrufezeichen (Bild Objektbaum.png). Wenn ich die jeweilige Instanz dann öffne (Bild Instanz.png) sehe ich, dass bei der übergeordneten Instanz die Schnittstelle geschlossen ist (Bild Instanz2.png). Dieses Verhalten trat auch schon bei jediglich einer eingebundenen USV auf.

Aktuell verwende ich den 4.4 Branch. Lässt sich diese Unschönheit irgendwie beheben ?

Gruss Letraz

Objektbaum.png

Instanz.png

Instanz2.png

Der Socket wird erst geöffnet, wenn die Update Funktion gestartet wird, um nicht zu viele Connections auf dem Server zu belegen. Also alles gut, ist bei Design und kein Fehler.

Tommi

Hallo zusammen,

Mein Ziel war eine FHZ durch einen CUL zu ersetzen. Also CUL an USB am Symcon Win Rechner dran
Das Modul habe ich mittlerweile mit dem CUL Stick am laufen. Puhhhh. Alles mitgemacht von Treiber, Cert Problemen, …
Nach dem Start und Anbindung des Moduls CUL Splitters an COM6 mit 38400 Baud sind mit auch einige device automatisch erzeugt worden, allerdings alle mit rotem Ausrufezeichen. Scheinen der Anzahl nach HMS Devices zu sein aber komplett ohne Daten :frowning:

Und ich raff jetzt nicht wie ich damit aus der Grafischen Oberfläche ein Device anbinden kann (FS20) ?

Für ein FS20 Device habe ich also mal ein Tommi2Day Switch Device erzeugt und nu ?
Ist irgendwo beschrieben was in Geräte-ID / Typ / und Creator eingetragen werden muss wenn ich z.B. folgendes FS20 Device schalten will. z.B. Hauscode: 22134431 Adresse 11 Sub Adresse 24

Oder was ich zum Empfangen der Daten der HMS machen muss ?

Puhh echt mühselig, aber ein geschenken Gaul …

Trotzdem wäre es schön wenn mich einer Aufklären könnte.

gruss Dirk

Der normale Ablauf ist so:

  1. Den CUL Splitter anlegen. Dabei wird auch ein IO-Device angelegt und verbunden. In der Regel passen die Parameter, man kann aber den SerialPort auch mit einen ClientSocket ersetzen.

2.Der CUL empfängt Geräte und legt dafür Devices selber an, wenn das Protokoll implementiert ist. Bei FS20 Geräten, die nicht selber senden hilft das Absetzen eines passenden Befehls mit der Fernbedienung. Damit werden halle benötigten Parameter wie Hauscode usw. hinterlegt und man muss hier gar nichts mehr einstellen

  1. Die FS20 Schalter werden wie üblich über PHP Befehle gesteuert (SWD_*). Für das Webfront ist bereits ein Action Script hinterlegt, woduch man die Schalter aus dem Webfront schalten kann. Im Konfigurationsdialog des Switch Devices gibt es auch die Möglichkeit zum Test.

Wenn was nicht funktioniert Debug Fenster von Spliiter und Device öffenen und den Datenfluss beobachten.

bei einem Roten Symbol stimmt was nicht. Möglicherweise ist nicht der richtige Parent aktiv, z.B. weil es mehrere Serial-Port Instancen gibt.

Tommi

Hallo Tommi,

danke für Deine Antwort. Also hab ich nochmal von vorne begonnen. Alles geloscht und neu angelegt.

Splitte instant - I/O- Instanz mit COM6 und 9600 Baud. Sieht erst mal topi aus.
Im Debug Fenster der I/O Instanz & Splitter laufen auch Daten rein.

Es werden aber keine devices mehr angelegt (Haken bei Splitter Instanz ist drin) . Ich hab mich mit der FS20 Fernbedinung nahe an den Stick gestellt und nix passiert. Auch nicht im Debug Fenster.

Was irritierend ist das nun nix mehr angelegt wird automatisch ?

Nun dann mal eben eine Tommi2Day/Switch Device angelegt. Aber was soll ich da eintragen ?

Hillllfeeeee:banghead::confused:

Was ich gerade noch wahrnehme, ist das im Meldungfenster „Set CUL Mode faild“ erscheint.Was soll mir das sagen ?
Zumal ja in den Debug Fenstern Daten reinlaufen.

CUL Mode failed heisst, das das Setzen des benötigten Kommunikationsmodus nicht funktioniert hat. Kann deshalb auch die Ursache sein, das der Splitter nichts versteht.

Manuelles Anlegen des Switch Devices macht nicht wirklich Sinn, auch wenn das automatische Anlegen von Instancen den neuen Richtlinien zufolge nicht mehr gewüscht ist. Dafür gibt es zu viele Parameter, die passsen müssen.

Schicke mir bitte mal einen längeren Auszug des Debug-Log vom Splitter mit der Initialisierung (deaktivieren und neu aktivieren) und wo die Daten reinkommen und auch die Fernbedienung dabei sein müßte

Da passiert eigentlich so gut wie gar nix. Beim aktivieren passiert direkt nix. Erst Sekunden später kommen Daten im Log an.
Eine FB-Bedienung zeigt auch nix.

Sehr strangeCUL.PNG

SerPort.PNG

dump.txt (1.52 KB)

Tja, der CUL antwortet nicht. Dann gibt es natürlich auch keine Daten…

Jetzt sind ein paar Fragen zu klären:

  • Die Verbindung zum SerialPort-Modul ist korrekt?
  • Der SerialPort-Modul hat den richtigen ComPort und die Parameter entsprechen der Dokumentation der CUL Firmware?
  • Welche Version hat die Firmware?
  • Kann man mit einen Terminalprogram wie HTerm oder Putty den CUL ansprechen?.Mit X21<enter> wird der richtige Modus aktiviert .
    Dann sollten die empfangenen Daten sichtbar werden.

Danke bis hier hin erst mal. Jetzt sieht es schon ein ganze stück besser aus.

Ja klappt.

Jetzt hab ich noch das Themen das die HMS Devices werden nur teilweise erjkannt und empfangen werden. z.B. Feruermelder und der Kohlenmonoxid Melder. Temp oder Temp/Feucht Device tauchen zwar m LOG auf aber werden nicht angelegt, bzw. werden nur „defekte“ Devices angelegt. ohne Daten und meist mit einem rote ! (siehe Bild) Ich habe auch mal noch ein Dump beigefügt, vielleicht hast Du noch einen Tipp für mich ?
Kann es an der älteren IP-Symvon Version liegen (V4.00) ?

dump.txt (98 KB)

So ich hab jetzt nochmal ein bisschen rumgespielt. Von GIT Hub Versionen bis 4.1 geladen und eingespielt, jedoch gibt es immer noch da Thema das zumindest die HMS100 T & HMS100 TF nicht angelegt werden bzw mit Fehler (rotes ausrufezeichen) und fehlender Ident.
Dagegen die Rauchmelder und CO Melder schon. Hier ist auch ein Ident vorhanden. Wie kann ich den denn manuell anlegen ?

Teilweise habe ich auch „unamed Objecte“ ohne Ausrufezeichen.

Der CUL ist ein nanoCUL USB Stick FTDI CC1101 868MHz von smart-home-komponente.de
Welchen CUL kann ich denn verwenden wenn der Verdacht auf inkompatibler Hardware besteht ?

Im Meldungs Log wird halt immer auf eine Fehler in einer PHP Modul verwiesen. Kann das resultierend einer zu alten Symcon VErsion einhergehen ? :

5.04.2019 13:48:18 | VariableManager | [Program\IPSLibrary\data\core\IPSLogger\IPSLogger\HtmlOut_MsgList] = <style>.row-highlight tr:hover {
background-color: rgba(255, 255, 255, 0.1) !important;
color:#808080 !important;}</style>
<table width=„100%“ class=„row-highlight“ style=„font-family:courier; font-size:11px;“><colgroup><col width=„25px“><col width=„40px“><col width=„100px“><col width=„200px“><col></colgroup><tr id=„251285“ style=„color:#000000;background:#FF0000;“><td>IPS</td><td>-Err-</td><td title=„PHP“>PHP</td><td>2019-04-25 07:58:19.637</td><td><DIV>Error: Call to undefined method WSDEV::SetReceiveDataFilter()<BR> Error in Script D:\IP-Symcon\modules\ipsymcon-phpmodule-by-Tommi\WSDev\module.php on Line 127<BR> 134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)<BR> 33 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)<BR> 121 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_PhpErrorHandler)<BR> in IPSLogger_PhpFatalErrorHandler</DIV></td></tr><tr id=„251286“ style=„color:#000000;background:#FF0000;“><td>IPS</td><td>-Err-</td><td title=„PHP“>PHP</td><td>2019-04-25 08:07:04.603</td><td><DIV>Error: Call to undefined method WSDEV::SetReceiveDataFilter()<BR> Error in Script D:\IP-Symcon\modules\ipsymcon-phpmodule-by-Tommi\WSDev\module.php on


25.04.2019 13:51:13 | PHP | Error: Error: Call to undefined method WSDEV::SetReceiveDataFilter()
Error in Script D:\IP-Symcon\modules\ipsymcon-phpmodule-by-Tommi\WSDev\module.php on Line 127
134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
33 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
121 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_PhpErrorHandler)
in IPSLogger_PhpFatalErrorHandler


25.04.2019 13:51:13 | FlowHandler | Kann Daten nicht zur Instanz #12739 weiterleiten:
Warning:
Fatal error: Call to undefined method WSDEV::SetReceiveDataFilter() in D:\IP-Symcon\modules\ipsymcon-phpmodule-by-Tommi\WSDev\module.php on line 127
Abort Processing during Fatal-Error: Call to undefined method WSDEV::SetReceiveDataFilter()
Error in Script D:\IP-Symcon\modules\ipsymcon-phpmodule-by-Tommi\WSDev\module.php on Line 127 in D:\IP-Symcon\modules\ipsymcon-phpmodule-by-Tommi\CUL\module.php on line 1127

25.04.2019 13:51:13 | PHP | Error: Error: Call to undefined method WSDEV::SetReceiveDataFilter()
Error in Script D:\IP-Symcon\modules\ipsymcon-phpmodule-by-Tommi\WSDev\module.php on Line 127

Die Meldung hätte ich mal gleich sehen sollen. SetReceiveDataFilter gibt es auch erst mit IPS4.1 (Migration (V4.0->V4.1) — IP-Symcon :: Automatisierungssoftware)

Deshalb klappt das Anlegen auch nicht und wird auch nicht mehr klappen

Bitte auf eine halbwegs aktuelle IPS Version umsteigen, aber noch nicht 5,1, dafür gibt es das Modul noch nicht. Ich werde für den alten Kram keine Zeit mehr investieren.

Tommi

Super,

danke Tommi das hat geklappt. Update auf 5.0 und schwupps komme die Daten. Vielen Dank für Deine Unterstützung. :smiley:

Gruss
Dirk