mehrere lampen im doif kaskadierend?

Begonnen von the ratman, 11 Dezember 2019, 10:39:17

Vorheriges Thema - Nächstes Thema

the ratman

hiho,
ich suche grade nach einer halbwegs intelligenten lösung 3 lampen ein- und aus- zu schalten. hört sich leicht an, gell? *g*

voraussetzungen:
2 helligkeitssensoren in lux
3 einzeln schaltbare lampen
2 der lampen sind gleich stark, eine lampe ist um die hälfte stärker - z.b.: 24w(~2500lx) - 36w(~4000lx) - 24w(~2500lx)

das ergebnis sollte sein:
1) helligkeitssensor 1 misst die lux der sonne
2) helligkeitssensor 2 misst an einem anderne ort die sonne + die eventuell angestellten lampen
3) der wert von sensor 2 sollte immer über xxxxx lux liegen, indem das doif immer lampen dazu schaltet oder aufgrund sensor 1 auch wieder weg schaltet.


fällt da jemand irgendwas halbwegs brauchbares ein?
wäre dankbar für jeden denkanstoß!
→do↑p!dnʇs↓shit←

rabehd

Das Wegschalten ist mit noch nicht klar. Welche Bedingung soll da gelten? Sensor 1 heller als 2, Sensor 1 über ...?

Auch funktionierende Lösungen kann man hinterfragen.

the ratman

ich frag mich grad, wozu ich eigentlich 2 sensoren brauch ...

lassen wir mal den sonnensensor weg. bleibt also "nur" die generelle frage: wie kaskadiere ich meine lampen am sinnvollsten, tolerantesten und einfachsten.

also:
es ist zu dunkel -> schalte je nach lux die geeignetste(n) lampe(n) an
...
es ist zu hell -> schalte je nach lux die geeignetste(n) lampe(n) aus
...

das ganze aber auch noch mit toleranzen im lux-bereich, damit er mir nicht "flimmert" und auch noch zeitlichen toleranzen, weil der sensor nicht so flott ist und z.b. beim einschalten auch gern mal 1000 lux zu viel anzeigt. der "pendelt" sich dann mal schneller oder langsamer ein.

ich würde das sicher auch mit einem km-langen doif hin kriegen, trau mich aber wetten, das ginge sicher mit nur 2 oder 3 zweigen und viel, viel eleganter, als ich das schaffen würde - dafür fehlt mir aber grade die idee und warscheinlich auch mal wieder das "computer-denk" *g*.
→do↑p!dnʇs↓shit←

Per

Am leichtesten wäre aber dennoch, du würdest nur die Außenhelligkeit messen, mit den drei Lampen bekommst du eh nicht genau den Zielpunkt hin.
Du hast ja eh nur 6 Stufen:
0
24
36
48
60
84
Also eine einfache DOIF mit 6 Fällen. Kannst auch mit Formel (Modulo) arbeiten, dann reichen weniger (ich würde dir dann die Perl-Version empfehlen).

the ratman

die 6 stufen sind ja schon mal ne annehmbare menge *g*
perl-version und ich? das hat noch nie funktioniert.

der "sonnensensor" weiß aber nicht, wie die lichtverhältnisse bei den lampen sind und die sind mir ja wichtig. quasi ist der lampensensor recht genau sonnensensor + lampen.
physikalisch klar, weil der sonnensensor ganz in der nähe des lampensensors ist, aber lichtdicht verpackt nur beim fenster rausschauen darf.
→do↑p!dnʇs↓shit←

Per

Kannst auch den Lampensensor nehmen, aber dann kann es passieren, dass er umschaltet und feststellt, dass ein anderer Wert besser geeignet ist und wieder zurück schaltet.
Aber auch hier kannst du die o.a. 6 Stufen nehmen. Ist es zu hell, wird eine Stufe runter, ist es zu dunkel, eine Stufe hoch geschaltet. Den alten Wert merken und die Abweichung zum Sollwert speichern und vergleichen, wenn besser, dann lassen, sonst zurück.
Das Ganze "stufig" und mit wait, so dass nicht zu hektisch wird.

rabehd

Du hast 5 Schaltstufen nach unten bzw. oben: 2500, 4000, 5000, 6500, 9000.

Die Differenz zwischen Sollwert und Istwert ist
>8999 dann 9000 zuschalten
>6499 dann 6500 zuschalten
>4999 dann 5000 zuschalten
...
Analog beim Abschalten.
Mit Wait im DOIF könntest Du das einpegeln ausgleichen.
Auch funktionierende Lösungen kann man hinterfragen.

Per

Zitat von: rabehd am 11 Dezember 2019, 14:36:45Du hast 5 Schaltstufen
Einspruch! 6. Du hast die 0 vergessen.
Und bestimmt kommt Aus auch dazu.

rabehd

Zitat von: Per am 11 Dezember 2019, 15:48:16
Einspruch! 6. Du hast die 0 vergessen.
Und bestimmt kommt Aus auch dazu.

Auch nicht Richtig. Da wären es mindestens 10 Stufen  :P
Die Frage ist doch was eine Stufe ist?
Aus ist keine Stufe, sondern ein Zustand.
Am Prinzip der Lösung ändert das aber nichts.

Aber da ist noch ein Fehler. Es ist nicht berücksichtigt wie viele Lampen schon an sind.

Somit danke für den Hinweis, auch wenn er nur den Anstoß in eine andere Richtung ausgelöst hat.
Auch funktionierende Lösungen kann man hinterfragen.

sash.sc

Hört sich ja schon fast nach einer Regelung an [emoji6]
PID Modul?

Gesendet von meinem MI 9 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

the ratman

gut, nu weiß i weniger als vorher *g*
→do↑p!dnʇs↓shit←

rabehd

Welche Kombination der Lampen kommt der Differenz aus Sollwert minus Sonne am Nächsten?
Das Ganze zyklisch prüfen.

Auch funktionierende Lösungen kann man hinterfragen.

the ratman

ich hoffe, ich versteh dich jetzt nicht falsch ...

das kann man ned so genau sagen - gemessen werden ja nicht nur die lampen, sondern auch die sonne dazu.

drum dacht ich ja eigentlich man arbeitet weniger mit den lampenwerten, sonder eher mit den sensorwerten.
also vielleicht doch mit dem vergleich zwischen 2 senoren?
und ums einfacher zu machen: mittlere lampe als erstes an, als letztes aus? linke als zweites an und vorletztes aus. ...?
das wäre dann relativ simpel - aber doch recht undynamisch.
→do↑p!dnʇs↓shit←

the ratman

sodale - fangen ma halt einfach primitiv an - gscheiter machen kann man das ding ja immer noch.

das wäre das 1. doif - einfach mal für die mittlere lampe. ob die lux-so passen, weiß ich noch ned. habs einfach mal geschrieben(
[?doif_hydro01_logik:lichtM_auto] ne "aus"
and
[?[doif_hydro01_logik:lichtM_an]-[doif_hydro01_logik:lichtM_aus]]
and
( ( [hydro01_lux:brightness:avg3] < 3000
and
[hydro01_sonne_lux:brightness:avg3] < 3000
) )
)
( set HUEDevice11 on)

DOELSEIF

(
[?doif_hydro01_logik:lichtM_auto] ne "aus"
and
[?[doif_hydro01_logik:lichtM_an]-[doif_hydro01_logik:lichtM_aus]]
and
(  [hydro01_sonne_lux:brightness:avg3] > 6000 )
)
( set HUEDevice11 off)

das könnte ich natürlich leicht für die beiden andern lampen auch machen.
nur für die abhängikeiten zw. den lampen hab ich immer noch keine idee. denke, das würde so in ein "geflimmer" ausarten ...
→do↑p!dnʇs↓shit←

enno

Moin

Zitat von: the ratman am 12 Dezember 2019, 15:30:24
nur für die abhängikeiten zw. den lampen hab ich immer noch keine idee. denke, das würde so in ein "geflimmer" ausarten ...

Kannst du die Lampen mit https://fhem.de/commandref.html#LightScene zusammenfassen? (z.B. eine Scene Hell, Heller, Amhellsten) und die dann mit deinem DOIF schalten. Dann könnte es klappen, ohne auf eine Discobeleuchtung hinaus zu laufen.

Ich bin mal auf die weitere Entwicklung gespannt...

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian