Hauptmenü

Blutiger Anfänger

Begonnen von dihe85, 21 Januar 2020, 07:42:08

Vorheriges Thema - Nächstes Thema

dihe85

Hallo zusammen,
Ich habe vor 4-5 Tagen angefangen mich mit FHEM zu beschäftigen und bin momentan noch total überfordert.
Es scheitert an kleinsten Dingen.
Zu meinem Vorhaben:
Ich möchte ein 16Kanal Relais bei mir in der Garage installieren.
Davon sollen erstmal ca 8 Kanäle für die Bewässerung sein und ca 4 für Beleuchtung.

Ich bin der Auffassung das die Beleutung eigentlich einfach zu realisieren sein sollte. ABER...
Ich würde da gerne nicht nur on /off haben sonderen auch AUTO.
Von Hand auf ON oder OFF sollen Funktionen keine wirkung haben.
Auf Auto sollen die lampen 30 min vor Sonnenuntergang an gehen und um 22:30Uhr aus.

Selbst hier habe ich ein großen Fragezeichen über dem Kopf.
Wie bekommen ich den Button Auto da rein?
Wie und Wo bringe ich die Zeitprogramme unter?

Gibt es eine art Tutorial das ich mal durcharbeiten kann, um die Funktionsweise von FHEM etwas zu verstehen?

Gruß
Dirk

CoolTux

Hallo und herzlich willkommen.
Um FHEM zu testen kannst Du einfache dummy Devices anlegen. In Deinem Fall wäre das dann sogar für Licht.

define myLicht1 dummy

und fertig. Dann einfach ein set myLicht1 on oben in der Kommandozeile eingeben und es sollte ein Symbol erscheinen (Lampe)
Probier das mal und dann schauen wir weiter.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rabehd

ZitatGibt es eine art Tutorial das ich mal durcharbeiten kann, um die Funktionsweise von FHEM etwas zu verstehen?

Hast Du das gelesen?
https://forum.fhem.de/index.php/topic,41693.0.html
https://forum.fhem.de/index.php/topic,19621.0.html

ZitatIch möchte ein 16Kanal Relais bei mir in der Garage installieren.
Da wirst Du schon mehr über Deine Hardware verraten müssen.

ZitatIch würde da gerne nicht nur on /off haben sonderen auch AUTO.
Relais sind Aktoren, die können immer nur on/off.
Sensoren (auch der Schalter an der Wand) schalten Aktoren.
Dein "AUTO" steuerst Du durch die Funktionen in FHEM. Stichworte at, notify, DOIF....
Auch funktionierende Lösungen kann man hinterfragen.

dihe85

Danke schon mal für die schnellen Antworten.
@CoolTux
Ich habe Testweise ein 4Kanal Relais angeschlossen und befehlsschaltungen set...on; on-for-timer; set room=xy on ... angeschlossen und mit rum gespielt. Soweit habe ich das verstanden. Ich bin auch schon darüber gestollpert, das man keine Gruppen schalten kann.

@rabehd
eine Kurzeinführung in den Wiki´s hatte ich gesehen fand sie aber viel zu knapp.
Die beiden Links von die werde ich mir nachhher mal anschauen.

Zitat von: rabehd am 21 Januar 2020, 07:50:22
Da wirst Du schon mehr über Deine Hardware verraten müssen.
Ok:
Raspberry Pi 3b
iMatic 16 Kanäle WiFi Relais (bestellt kommt heute)
Hunter Magnetventil PGV-101 24VAC mit eintsprechendem Netzteil
230V Magnetventiele
Gartenlampen
2 Pumpen davon eine an einem 24A 3Phasenschütz (ca 1,1KW leistung)
2-3 Bodenfeuchtesensoren (geplant)
1 Lufttemperatursensor (geplant)

Zitat von: rabehd am 21 Januar 2020, 07:50:22
Relais sind Aktoren, die können immer nur on/off.
Sensoren (auch der Schalter an der Wand) schalten Aktoren.
Dein "AUTO" steuerst Du durch die Funktionen in FHEM. Stichworte at, notify, DOIF....

Das ein Aktor/Relais nur den Zustand 1 oder 0 haben kann ist mir schon klar. ich versteh einfach noch nicht wo die Logik hin muss.

Ich benötige für die Funktionalität der Bewässerung wie sie mir vorschwebt ein paar zustände mehr.
Beispiel1:
Ich habe einen Brunnen im Garten.
Die Pumpe soll immer an sein, wenn die Tagestiefsttemperatur über 4°C liegt.
Außer ich muss Wartungsarbeiten durchführen dann miss ich sie Ausschalten können.
Bei Bäh Wetter wie bei uns momentan liegt die Tiefsttemperatur aber schon unter 4°C allerdings musste ich gestern das Teichwasser wechseln und brauchte dafür wieder den Brunnen. (Manuell ein ; Aus ; sonst >4°C, an <=4°C aus)

Beispiel2:
Der Rasen benötigt 20-40L/m² in der Woche je nach Witterung .
Klingt nach machbar 20-40°C Lufttemperatur klingt da nach nem plausiblem Ansatz.
Das Sprenkeln soll an 3 Tagen die Woche passieren z.B. Mo, Do, So --> Gießmenge = if Tageshochsttemperatur <21 °C then 7 l/m² else Tageshochsttemperatur/3
Das ganze dann natürlich nur wenn der Feuchtesensor Trocken bestätigt.
ABER wenn man Düngt braucht der Rasen erstmal mehr Wasser und auch an mehr Tagen sonnst verbrennt der. Also 3 Tage in folge 5l/m² dannach wieder zur Routine zurück.
Und im Winter muss ich die manuell schalten können um sie zu entwässern.
(Manuell ein ; aus; Auto; Düngen)

Würdet ihr das dann über ein Dummy steuern und die Funktion an den Aktor übergeben?

Gruß
Dirk

CoolTux

Voraussetzung ist das Du ein Device oder mehrere eingerichtet hast.

Was Du dann suchst ist die eigentliche Logikschaltung.
Als erstes musst Du einen Trigger bauen. Bedeutet wenn etwas passiert soll etwas gemacht werden.

Mo Do So kannst Du mittels at und einer Abfrage machen.
> 21 Grad macht man mittels Notify und einem Tempsensor.

Dein Vorhaben ist schon eine etwas größere Sache.
Meine Empfehlung ist eine 99_myUtils an zu legen und mittels Perlcode entsprechend die Bedingungen zu prüfen. Als trigger für die 99_myUtils nimmst Du at und den Tempsensor.

Noch ein Wort zu abschalten, automatik, manuell und so. Das kannst Du über einen selbstgebauten dummy machen der als setList Attribut auto,manual,off bekommt.
Allerdings empfehle ich Dir erstmal in Ruhe die Basic zu machen. Baue Dir selbst ein paar Dummy Devices und bilde damit virtuell Deinen Aktor ab. Dann noch ein Dummy als Tempsensor. Damit kannst Du dann üben.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Wernieman

#5
Und vor allem klein Anfangen. Dieses dann mit der Zeit wachsen lassen.

Ein System per Evolution wachsen zu lassen ist einfacher, als gleich "den groß0en Wurf" zu versuchen. Sogar bei neuen (kleinen) Projekten mache ich es so. Komplexität durch die Zeit.

Und nicht vergessen das KISS Prinzip: https://de.wikipedia.org/wiki/KISS-Prinzip

Und erstmal geht Dein Vorhaben auch ohne direkte perl Verwendung. Mann lernt dadurch mehr in FHEM als mit Programmieren.

Btw:
Zitatdas man keine Gruppen schalten kann.
Auch dafür gibt es Möglichkeiten .. wie z.B. structure. Aber (s.o.) fange erstmal einfach an.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

rabehd

Reden wir davon?
https://wiki.fhem.de/wiki/IMATIC

ZitatUnd vor allem klein Anfangen. D
Sehe ich genauso!

Binde Deine Relais erstmal in FHEM ein, dann kannst Du sie testweise über die Oberfläche schalten (auch ohne Verbraucher).
Dann beschäftige Dich mal mit at zum zeitlich gesteuerten Schalten.
Dann überlege Dir was sonst noch automatisch Schalten soll, z.B. Temperatur. Hast Du diese Info als Device in FHEM? Wenn nicht, dann suche eine Möglichkeit sie zu bekommen (als Ersatz auch mal ein Dummy zum Testen). Wenn Du diesen Auslöser (Trigger) im Eventmonitor siehst, dann beschäftige Dich mit notify. Später vielleicht mit DOIF.

So würde ich anfangen.
Auch funktionierende Lösungen kann man hinterfragen.

dihe85

Vielen Dank an euch.

@Wernieman
Zitat von: Wernieman am 21 Januar 2020, 09:30:46
Und nicht vergessen das KISS Prinzip: https://de.wikipedia.org/wiki/KISS-Prinzip
Das beschreibt zum Teil eine Aussage die ich gerne Tätige. "Der Mensch ist von Naturaus Faul! Er tut nur das was er muss oder will"
In meinem Fall jetzt ich bin zu Faul um aufzustehen, wenn im Sommer die Lampen ausgehen und ich doch noch draußen sitze, um sie wieder ein zu schalten.
Und ich bin zu Faul jeden 2. Tag durch den Garten zu rennen um alles zu gießen.
und zu Faul mir jemanden zu sucher der das macht wenn ich doch irgendwann mal in Urlaub fahre. ;)

@rabehd
Ja.
Das Modul hatte ich mir dafür geordert
https://www.amazon.de/SainSmart-iMatic-16-Kan%C3%A4le-Controller-Arduino/dp/B00KCP6BTW/ref=asc_df_B00KCP6BTW/?tag=googshopde-21&linkCode=df0&hvadid=309008177512&hvpos=1o1&hvnetw=g&hvrand=8687278468477732332&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1004625&hvtargid=aud-858298477326:pla-565458163439&psc=1&th=1&psc=1&tag=&ref=&adgrpid=65257070361&hvpone=&hvptwo=&hvadid=309008177512&hvpos=1o1&hvnetw=g&hvrand=8687278468477732332&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=1004625&hvtargid=aud-858298477326:pla-565458163439

@All
Klar werd ich das jetz nicht auf einmal zu diesem Projekt aufblasen.
Die Kabel sind im Garten noch nit gezogen, die Sensoren hab ich mir noch nicht ausgesucht.......
Erstmal anfangen ist meine devise.
Das heißt als erstest fliegt meine Zeitschaltuhr aus dem Sicherungskasten.
Diese Schaltet gerade die Gartenlampen wie bereits beschrieben [sunrise(-0:30) on; 22:30 off)

Dann werde ich (in 2 Monaten oder so), wenn die restlichen Kabel gezogen sind (knappe 40m 12x2,5 und 50m 12x1,5 + Sensorenkabel) erstmal anfangen die Ventiele einzubinden und die einfach erstmal ohne Sensore laufen lassen.....

Ich lehn mich jetzt mal aus dem Fenster und behaupt das auch einer der sich auskennt sowas nicht mal eben hinzimmert.
Das gesammte ist schon etwas größer.

Danke an euch
Gruß
Dirk


CoolTux

Zitat von: dihe85 am 21 Januar 2020, 10:07:21
Ich lehn mich jetzt mal aus dem Fenster und behaupt das auch einer der sich auskennt sowas nicht mal eben hinzimmert.

Natürich nicht. Das ist bei komplexeren Logiken doch immer so. Ich habe 2 Stunden gebraucht um die Logik für meinen Backofen lauffähig zu bekommen. Dabei sollte nur erkannt werden wenn die Vorwärmzeit abgeschlossen ist. Sprich nach dem ersten anschalten die Wunschtemperatur erreicht wurde.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net