CODESCHNIPSEL: PERL

Anbindung des Controllers an externe Hausautomationssysteme.
Benutzeravatar
martink
Beiträge: 32
Registriert: 1. Februar 2017, 16:52

Re: CODESCHNIPSEL: Java

Beitrag von martink »

Idefix hat geschrieben:Hallo für jemanden der dies auch benötigt.
Nicht für die Signatur / dies ist für das Webfrontend
schaltet Relais X für 5000ms änderbar ein, dann wieder automatisch aus.

Einfach den JavaScript ohne
<script language="JavaScript">
<!--

in den vorhandenen JavaScript ganz unten vor

//-->
</script >
einfügen.

[/code]
Ich habe den Code von Idefix bei mir in der viewdsp.htm entsprechend eingefügt und es funktioniert, dass ich Relais per Button schalten kann. Nutze diese um Relais für die Motoren meiner Halbautomatischen Solarplane zu steuern.
Was mich aber etwas irritiert ist die Tatsache, dass es teilweise mehrere Sekunden dauert bis die Statusanzeige des Relais (also die farbige LED) den Zustand wechselt.
Eine gewisse Verzögerung ist normal, aber teilweise 5-8 Sekunden?
Im original Web-Frontend, also nicht Phase2, dauert es komischerweise nicht so lange bis der Statuswechsel angezeigt wird.
An was kann da liegen bzw. kann man das optimieren?

Servus Martin

Benutzeravatar
Alex
Administrator
Beiträge: 9988
Registriert: 28. Mai 2014, 23:00

Re: CODESCHNIPSEL: PERL

Beitrag von Alex »

also bei der "Original" Übersicht in phase2 wird, wenn man was drückt, der POST request an die Steuerung geschickt und danach werden direkt die Daten neu geladen. Wenn man also auf der Seite schaltet, hat man direkt den aktuellen Status des Relais.

Wenn man z.B. über die "alte" Oberfläche schaltet und in phase2 kuckt, hat man in phase2 nicht sofort den neuen Status, weil in dem Fall ja nur die "normale" intervallgesteuerte Aktualisierung der Daten erfolgt (alle 15 Sekunden).

Wenn Du auf der Display-Seite ein Relais umstellst und der Status für das Relais ändert sich nicht direkt (in der Anzeige auf der Display-Seite), dann funktioniert das Schema wohl nicht mehr... evtl. wegen des neuen Codes?

Benutzeravatar
martink
Beiträge: 32
Registriert: 1. Februar 2017, 16:52

Re: CODESCHNIPSEL: PERL

Beitrag von martink »

Hallo Alex,

Danke für den Hinweis. Mach jetzt nach dem Senden des /SetState.pl Befehls noch einen POST request und es klappt.
Keine Verzögerung mehr.

Servus Martin

Benutzeravatar
marvin78
Beiträge: 63
Registriert: 6. Juli 2020, 20:15

Re: CODESCHNIPSEL: PERL

Beitrag von marvin78 »

Hallo zusammen,

ich möchte gerne gewisse Daten meiner PV-Anlage zur Steuerung einiger Procon.IP Funktionen heranziehen. Nun könnte ich natürlich mein FHEM dazu verwenden, in dem die Daten schon vorliegen, da ich aber mit dem Regelmanagement in der Procon eigentlich sehr zufrieden bin und gerne alles an dem sinnvollen Ort habe, habe ich mich gefragt, ob man diese Werte irgendwie in die Procon bekommen kann (ggf. als Dummy-Analog-Sensor) und diese dann dort für die Steuerung verwenden könnte. Hat das schonmal jemand gemacht und ist es überhaupt theoretisch möglich?

Danke!!

markus
Beiträge: 168
Registriert: 23. Januar 2019, 10:57

Re: CODESCHNIPSEL: PERL

Beitrag von markus »

Du könntest das über einen DigitalInput machen, welches per Relais von deinem FHEM geschaltet wird.

Benutzeravatar
marvin78
Beiträge: 63
Registriert: 6. Juli 2020, 20:15

Re: CODESCHNIPSEL: PERL

Beitrag von marvin78 »

Danke. Das habe ich auch überlegt. Natürlich bin ich dann relativ eng unterwegs. Wenn ich Werte hätte, wäre ich flexibler. Aber ok. Das ist auf jeden Fall eine meine Ausweichlösungen. Danke.

markus
Beiträge: 168
Registriert: 23. Januar 2019, 10:57

Re: CODESCHNIPSEL: PERL

Beitrag von markus »

Rein theoretisch sollte es auch über ein 0-20ma Eingang und Analog Regeln gehen. Da musst du dann halt mit Gain und Offset spielen, und du musst über FHEM das entsprechende Signal erst erzeugen.
Ich denke machbar, aber vom Aufwand bestimmt höher.

Ich denke auch es kommt darauf an, was du genau machen möchtest. Du kannst ja auch die Relais über die SetState.pl vom FHEM schalten.

Benutzeravatar
marvin78
Beiträge: 63
Registriert: 6. Juli 2020, 20:15

Re: CODESCHNIPSEL: PERL

Beitrag von marvin78 »

Das ist klar. Mein ursprünglicher Plan, war die Relais-Steuerung komplett über FHEM zu machen. Allerdings bin ich da aktuell noch auf Wifi angewiesen und das ist mir nicht zuverlässig genug. LAN habe ich vermutlich erst in 3-4 Monaten zur Verfügung und darum lasse ich den Controller alles autark machen. Da ist dann die Relais-Lösung sicher die bessere. Wobei ich da auch wieder auf Funk angewiesen bin. Irgendwie bin ich das aber natürlich bei jeder Lösung. Mal sehen, was ich mache. Danke erstmal.

Benutzeravatar
Raffke
Beiträge: 80
Registriert: 20. Juni 2016, 22:19

Re: CODESCHNIPSEL: PERL

Beitrag von Raffke »

Falls du in diese Richtung noch nicht gedacht hast:
Für eine andere Anwendung hatte ich mal in Erwägung gezogen, einen 1-Wire-Client mit einem Arduino (bzw. ATtiny85) als "Temperatur"-Sensor an den Poolcontroller zu hängen.
In den kannst du dann ja auf beliebigem Weg die Infos der PV-Anlage speisen.

Ich verstehe gut, dass du von einer Funk-Lösung nicht begeistert bist. (Ich selbst habe genug Probleme mit meiner 30m WiFi-Verbindung zum Pool)
Aber wie darf ich mir das bei dir vorstellen - PoolController und PV-Anlage stehen nebeneinander und müssen "nur" gekoppelt werden, während FHEM weiter weg läuft und in den nächsten 3-4 Monaten nur per WiFi angebunden werden kann?
Dann hilft doch vielleicht vorübergehend ein zweiter Raspi oder ESP, oder was auch immer irgendwie ins LAN kommt und beide per Web abfragen bzw. setzen kann?

Benutzeravatar
marvin78
Beiträge: 63
Registriert: 6. Juli 2020, 20:15

Re: CODESCHNIPSEL: PERL

Beitrag von marvin78 »

Das mit 1Wire schaue ich mir an. Das klingt nach einer guten Lösung:

Folgendes Szenario:

Pool ist elektrisch und per LAN angebunden an Neubau der Schwiegermutter auf dem Nachbargrundstück. Der ist noch nicht so weit fertig, Telekomanschluss noch länder nicht vorhanden.Irgendwann wird der Strom dann auch von dort kommen, noch kommt er aus unserer Grillhütte per Verlängerungskabel. Procon.IP, die aktuell nicht die Dosierung, sondern nur sonstige Steuerung macht, ist per WLAN-Bridge ins Netzwerk von unserem Haus eingebunden (wird sich ändern, sobald das Netzwerk im Neubau läuft). Das WLAN Signal ist recht stabil, ich verlasse mich aber ungern darauf. Die PV-Anlage, die ich aktuell Abfrage ist auf unserem Dach (in Zukunft wird natürlich die auf dem Nachbardach genutzt). Es geht mur daraum, die Pumpenlaufzeit um eine Kernlaufzeit herum, die per Zeitsteuerung in der Procon eingestellt ist, zu verlängern, wenn genug Strom geliefert wird (was im Grunde auch mit der benötigten Pumpenlaufzeit korreliert).

Benutzeravatar
Raffke
Beiträge: 80
Registriert: 20. Juni 2016, 22:19

Re: CODESCHNIPSEL: PERL

Beitrag von Raffke »

Also um ehrlich zu sein:
Wenn du sagst, dass die WLAN-Bridge zur Zeit stabil läuft, würde ich das für die paar Monate so lassen.
Bei mir bin ich wie gesagt leider auch daran gebunden und verzichte daher weitestgehend auf Einfluss von außen. Aber ich schalte z.Bsp. bei Einbruch der Dunkelheit mein Pool-Licht ein und das hat bisher jeden Abend funktioniert! Man muss halt ein wenig umdenken: so schalte ich es bspw. nicht ein und um z.Bsp. 22:30 Uhr wieder aus, weil mir das zu unsicher wäre. Wenn dann das Signal grad weg ist, würde es tagelang an bleiben. Also schalte ich es gleich nur für 60 Minuten ein, je nachdem wann es dunkel wird. Dann wäre der worst-case dass es aus bleibt.

So würde ich das bei dir auch machen - wenn dann mal an einem Tag die Pumpe trotz PV-Ertrag nicht läuft, ist es ja nicht schlimm.
Kannst ja immer noch zyklisch prüfen, ob die Pumpe an ist, solange PV-Ertrag da ist. Aber wenn du sie z.Bsp. immer nur für 30 Minuten anschaltest bzw. auf weitere 30 Minuten verlängerst, wenn PV-Ertrag da ist, dann ist der Verlust (durch mögliche Funk-Unterbrechungen) überschaubar.

Hier die beiden Aufrufe, die ich verwende um Relais 2 (mein Licht) an bzw. aus zu schalten:
Für 30 Min. AN --> http://admin:<PWD>@<Procon.IP-Addresse>/SetState.pl?R2=1&RT2=1800000
AUS --> http://admin:<PWD>@<Procon.IP-Addresse>/SetState.pl?R2=0&RT2=0

Wenn die Pumpe an einem anderen Relais hängt, natürlich entsprechend R2 und RT2 ändern in Rx und RTx.

tyr0n
Beiträge: 717
Registriert: 20. November 2018, 13:47

Re: CODESCHNIPSEL: PERL

Beitrag von tyr0n »

Hey Sven,

ich habe soeben mal http://admin:pass@ip/SetState.pl?R1=1&RT1=1800000 probiert. Das wäre bei mir das Pumpen Relais.
Nach der Eingabe erscheint im Browser 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 allerdings wechselt im Control die Pumpe nicht von rot auf grün.
Mach ich irgendwas falsch?

Benutzeravatar
Alex
Administrator
Beiträge: 9988
Registriert: 28. Mai 2014, 23:00

Re: CODESCHNIPSEL: PERL

Beitrag von Alex »

Relais muss auf AUTO stehen... und darf nicht von irgendeiner internen Regel zwangsweise AUS gesetzt sein.
Netzwerkintern geht das auch ohne username:pass@ipadresse in der URL ... einfach nur http:// ... /SetState.pl?...

tyr0n
Beiträge: 717
Registriert: 20. November 2018, 13:47

Re: CODESCHNIPSEL: PERL

Beitrag von tyr0n »

Hallo Alex,

achso, ok! Dann habe ich das verstanden.