Hallo zusammen,
ich hab viel gelesen wie ich mit fhem und dem Pi in die Hausautomation starte.
Ich hab auch schon konkrete Pläne wo ich am Ende ankommen möchte, aber ich weiß nicht wie ich dahin komme.
Mein aktuelles Problem ist, das ich nicht weiß wie ich alle aktuell vorhandenen Systeme verbinde.
Aktuell vorhandene Technik:
- Server: Pi 1 (Altbestand ;-) ) *
- 5x Thermostat: eQ-3 CC-RT-BLE (Bluetooth) **
- 5x Thermo-/Hygrosensor: Renkforce FT007TH (433Mhz) ***
- 6x Funksteckdosen + Fernbedienung: Renkforce 1208454 (433Mhz) ****
- 1x Wassermelder: Asus FU8330 (868Mhz)
Geplante Hardware Erweiterungen (Stück für Stück):
- 1x noch ein Wassermelder (noch ein Asus)
- 7-10x Fenster-/Türkontakte (433/868Mhz)
- 1-3x Strommesgeräte
- 1x Akku-Kamera (verm. WLAN)
- 1x Bildschirm (optische Meldung)
- 1x Lautsprecher (akustische Meldung)
- viele Lampen (Philips Hue oder ähnliches; LED Strips)
Geplante Software Erweiterungen:
- Fahrplan Bahn (Realisiert 03.03.17 mit DBPlan (https://forum.fhem.de/index.php?topic=36057.0))
- Müllkallender
- wiederhollende Termine
- Grundriss
- Lüftungserinnerung *****
- Anwesenheitserkennung mit lepresenced (erledigt)
Nun meine Frage:
Wie bekomme ich die Sachen alle verbunden?
Vor allem 433 und 868Mhz.
Gruß Flipper
#########
Edit:
* Wurde ausgetauscht gegen ein Pi3. Der Pi1 war zu langsam und hat nicht mal die Seite aufgebaut.
** Hat super Funktioniert dank dem EQ3-BT Modul (https://forum.fhem.de/index.php?topic=60595.0)
*** Erledigt mit deiesem Beitrag (https://forum.fhem.de/index.php/topic,65680.0.html)
**** Sind IT Dosen und wurden sofort erkannt
***** Umgesetzt mit dem TelegramBot
Hi,
wahrscheinlich kann Dir niemand sagen, wie Du genau diesen Gerätezoo am besten mit FHEM verbindest. Irgendwie geht es aber bestimmt. Ich würde Dir empfehlen, da mal Stück für Stück anzufangen.
Also erst einmal FHEM auf Deinem Pi ganz ohne Geräte zum Laufen bringen und dann das hier durchspielen: https://wiki.fhem.de/wiki/Erste_Schritte_in_FHEM
Auch wenn Du sagst, Du hast viel gelesen: Das hier auch? http://fhem.de/Heimautomatisierung-mit-fhem.pdf
Wenn Du Deinen Pi mit FHEM am Laufen hast, und auch mal erfolgreich ein notify und ein at angelegt hast, dann entscheide Dich für genau eins der Geräte auf Deiner Liste und versuche das mit FHEM zu verbinden. Natürlich kannst Du dann gerne wieder hier nachfragen, aber die ganze Liste abzuarbeiten hat bestimmt keiner Lust.
Gruß,
Thorsten
Hey Thorsten,
danke für die schnelle Antwort.
Werd es so machen, wie du es gesagt hast. Eins nach dem anderen.
Allgemeine Frage, bevor ich mich einbuddel und anfange:
Ist es möglich an einem Pi sowohl 433mhz als auch 868Mhz zu funken und empfangen? (Ein ja oder nein reicht für den Anfang)
Gruß Flipper
Hi,
sh. wiki
oder hier https://wiki.fhem.de/wiki/Trick_der_Woche#Januar_2015
vg
klaso
Zitat von: Flipper92 am 04 Februar 2017, 15:22:11Allgemeine Frage, bevor ich mich einbuddel und anfange:
Ist es möglich an einem Pi sowohl 433mhz als auch 868Mhz zu funken und empfangen? (Ein ja oder nein reicht für den Anfang)
Ja, das geht. Die Sender/Empfänger gibt es z.B. per USB und man kann mehrere an einen Pi anschließen. Es gibt auch welche, die man umschalten kann, aber ich würde das nicht empfehlen. Besser ist es, für jede Frequenz (und ggf. für jedes Protokoll) ein dediziertes Gateway zu haben.
Gruß,
Thorsten
Zitat von: Thorsten Pferdekaemper am 04 Februar 2017, 14:57:44
Das hier auch? http://fhem.de/Heimautomatisierung-mit-fhem.pdf
Scheinbar hab ich nur oberflächliche Sachen über Fhem gelesen. Danke für die PDF.
Da ich die Funksteckdosen und die Fernbedienung dazu bereits habe, würde ich gerne mit denen anfangen.
Hab ich das richtig gelesen, das ich dann dafür den CUL C1101-USB-Lite 433MHz (CUL433 [CUL3-433-OEM] benötige? Oder gibt es auch günstigere Alternativen?
Gruß Flipper
ZitatOder gibt es auch günstigere Alternativen?
Wenn du basteln kannst / willst
https://wiki.fhem.de/wiki/SIGNALduino (https://wiki.fhem.de/wiki/SIGNALduino)
https://wiki.fhem.de/wiki/FHEMduino (https://wiki.fhem.de/wiki/FHEMduino)
Hab den Pi 1 durch einen Pi3 getauscht. (Der Pi1 hat mir die Seite überhaupt nicht aufgebaut. Vermutlich war aber auch die SD Karte zu langsam)
Hab vor zwei Wochen die Teile bestellt, die ersten Sachen sind schon lange da, aber manches braucht länger (wer nichts zahlen will muss sich halt gedulden :-D ) Ich hab mich für den SIGNALduino mit 433mhz (https://wiki.fhem.de/wiki/SIGNALduino) entschieden.
Die Bluetooth Thermostate sind soweit eingebunden (nur ein Raum hat schlechten Empfang, aber der Server steht auch noch nicht an seinem Zielort. (Das Problem mit dem Bluetooth wurde durch ein sleep vor FHEM gelöst. (https://wiki.fhem.de/wiki/Raspberry_Pi_3:_GPIO-Port_Module_und_Bluetooth # Schritt 7)
(Modul von hier: https://forum.fhem.de/index.php?topic=60595.0)
Nun werde ich mit diesen Thermostaten anfangen zu Testen, wie was funktioniert.
(Ich hoff es ist okay, wenn ich hier ein wenig das vorgehen Protokolliere und meine Erfolge (und Lösungsansatz) aufschreibe.
Dann können andere (und ich später auch) das nochmal nachlesen.
Hey zusammen.
Und das nächste Problem. :-[
Der SIGNALduino findet kein Signal. Dabei befinden sich Funksteckdosen und Funkthermostate in der Nähe.
Log Eintrag:
2017.02.23 19:43:01 1: Including fhem.cfg
2017.02.23 19:43:01 3: telnetPort: port 7072 opened
2017.02.23 19:43:01 3: WEB: port 8083 opened
2017.02.23 19:43:01 3: WEBphone: port 8084 opened
2017.02.23 19:43:01 3: WEBtablet: port 8085 opened
2017.02.23 19:43:01 2: eventTypes: loaded 107 events from ./log/eventTypes.txt
2017.02.23 19:43:01 3: EQ3BT: EQ-3 Bluetooth Thermostat 2.0.0
2017.02.23 19:43:01 3: EQ3BT: EQ-3 Bluetooth Thermostat 2.0.0
2017.02.23 19:43:01 3: EQ3BT: EQ-3 Bluetooth Thermostat 2.0.0
2017.02.23 19:43:01 3: EQ3BT: EQ-3 Bluetooth Thermostat 2.0.0
2017.02.23 19:43:01 3: EQ3BT: EQ-3 Bluetooth Thermostat 2.0.0
2017.02.23 19:43:01 2: Wetter: encrypt crypt:500c55510c510e1f585077560c4c190052/crypt:76114d5c074a5c00 to crypt:500c55510c510e1f585077560c4c190052/crypt:76114d5c074a5c00
2017.02.23 19:43:02 3: sduino: IDlist MS 0 1 13 14 15 17 2 22 23 25 3 32 33 35 38 4 41 45 51 55 6 7
2017.02.23 19:43:02 3: sduino: IDlist MU 13.1 16 20 21 24 26 27 28 29 30 31 34 36 37 39 40 42 44 44.1 46 48 49 5 50 56 59 60 8 9
2017.02.23 19:43:02 3: sduino: IDlist MC 10 11 12 18 43 47 52 57 58
2017.02.23 19:43:02 3: Opening sduino device /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
2017.02.23 19:43:02 3: Setting sduino serial parameters to 57600,8,N,1
2017.02.23 19:43:02 1: sduino/define: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
2017.02.23 19:43:02 1: sduino/init: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
2017.02.23 19:43:02 3: sduino device opened
2017.02.23 19:43:02 1: Including ./log/fhem.save
2017.02.23 19:43:03 3: Wetter.Rusenschloss: I/O device is Wetter
2017.02.23 19:43:04 1: BlockingInformParent (BlockingStart): Can't connect to localhost:38040: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt
2017.02.23 19:43:04 1: BlockingInformParent (EQ3BT_processGatttoolResult): Can't connect to localhost:38040: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt
2017.02.23 19:43:05 1: usb create starting
2017.02.23 19:43:05 3: Probing CUL device /dev/ttyAMA0
2017.02.23 19:43:05 3: Probing TCM_ESP3 device /dev/ttyAMA0
2017.02.23 19:43:06 3: Probing FRM device /dev/ttyAMA0
2017.02.23 19:43:11 1: usb create end
2017.02.23 19:43:11 0: Featurelevel: 5.8
2017.02.23 19:43:11 0: Server started with 23 defined entities (fhem.pl:13447/2017-02-19 perl:5.020002 os:linux user:fhem pid:31611)
2017.02.23 19:43:11 3: sduino/init: disable receiver (XQ)
2017.02.23 19:43:11 3: sduino/init: get version, retry = 0
2017.02.23 19:43:11 2: sduino: initialized. v3.3.1-dev
2017.02.23 19:43:11 3: sduino/init: enable receiver (XE)
2017.02.23 19:43:11 3: FHEMWEB WEB CSRF error: fhem_9541150074442.99 ne fhem_94103711464100.1. For detals see the csrfToken FHEMWEB attribute
2017.02.23 19:43:21 3: telnetForBlockingFn_1487875401: port 42417 opened
2017.02.23 19:43:32 3: FHEMWEB WEB CSRF error: fhem_9541150074442.99 ne fhem_94103711464100.1. For detals see the csrfToken FHEMWEB attribute
2017.02.23 19:44:11 3: sduino/KeepAliveOk: 0 retry = 1 -> get ping
2017.02.23 19:45:51 3: EQ3BT (Jennifer.Thermostat): updateSystemInformation, 0x0411, 00 failed 20 times.
2017.02.23 19:46:08 3: EQ3BT (Jennifer.Thermostat): updateStatus, 0x0411, 03110217132E failed 20 times.
2017.02.23 19:46:11 3: sduino/KeepAliveOk: 0 retry = 1 -> get ping
2017.02.23 19:48:11 3: sduino/KeepAliveOk: 0 retry = 1 -> get ping
2017.02.23 19:50:11 3: sduino/KeepAliveOk: 0 retry = 1 -> get ping
(........)
Verkabelung:
Nano TX RX
GND GND GND
+5V VCC VCC
D2 DATA
D11 DATA
Produkte:
- ATmega328P
- FS1000A
- XY-MK-5V (Der RXB-6 ist leider noch unterwegs)
Ich glaube ich hab die Spezifikation für das USB falsch, aber wie bekomm ich das raus? (Hab das aus dem Wiki benutzt und der Status ist dennoch offen.)
Das Flaschen ging scheinbar ohne Probleme:
flashing Arduino sduino
hex file: ./FHEM/firmware/SIGNALduino_nano328.hex
port: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
log file: ./log/SIGNALduino-Flash.log
sduino closed
command: avrdude -c arduino -b 57600 -P /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 -p atmega328p -vv -U flash:w:./FHEM/firmware/SIGNALduino_nano328.hex 2>./log/SIGNALduino-Flash.log
--- AVRDUDE ---------------------------------------------------------------------------------
avrdude: Version 6.1, compiled on Jul 7 2015 at 10:29:47
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/etc/avrdude.conf"
Using Port : /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
Using Programmer : arduino
Overriding Baud Rate : 57600
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 2
Firmware Version: 1.16
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "./FHEM/firmware/SIGNALduino_nano328.hex"
avrdude: input file ./FHEM/firmware/SIGNALduino_nano328.hex auto detected as Intel Hex
avrdude: writing flash (17738 bytes):
Writing | ################################################## | 100% 5.69s
avrdude: 17738 bytes of flash written
avrdude: verifying flash memory against ./FHEM/firmware/SIGNALduino_nano328.hex:
avrdude: load data flash data from input file ./FHEM/firmware/SIGNALduino_nano328.hex:
avrdude: input file ./FHEM/firmware/SIGNALduino_nano328.hex auto detected as Intel Hex
avrdude: input file ./FHEM/firmware/SIGNALduino_nano328.hex contains 17738 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 4.45s
avrdude: verifying ...
avrdude: 17738 bytes of flash verified
avrdude done. Thank you.
--- AVRDUDE ---------------------------------------------------------------------------------
sduino opened
Noch Ideen wo ich was weiter testen kann?
Gruß Flipper
Hi,
wenn Du fragen zu SignalDuino hast, dann verschiebst Du das vielleicht besser in den passenden Forenbereich.
Du hast aber auch noch einige andere Fehlermeldungen im Log, die Du Dir ansehen solltest...
Gruß,
Thorsten
Hallo Zusammen,
Da ich nun fast alle Verbindungen getestet habe (mir fehlt nur noch 868mhz) und auch bereits einige Verbesserungen habe (z.B. Entfeuchter, Übergangslicht, Nachtlicht, TV-off bei Abwesenheit) komme ich nun an den Punkt wo es kompliziert ist.
Nun soll aber auch der IST zustand mit einfieseln, also ob Fenster und Türen offen sind, ob Leute Anwesend sind oder im Urlaub, ob es Sommer oder Winter ist.
Es gibt nun (aus meiner sicht) zwei wege.
1. Alles Geräte direkt steuern und dementsprechende lange IF schleifen bauen.
z.B. Wenn Zeit und Fenster zu und Tür zu und draußen Kalt dann Heizen
2. Über dummys
z.B. Wohnzimmer.Heizen 0/1 und das Fenster stellt dieses Dummy um auf 0 wenn offen oder permanent auf 0 wenn Sommer.
Wie macht ihr das, vor allem im hinblick auf Erweiterungen?
Ich seh bei beiden das Problem, das man den Überblick verliert oder das z.B. das Fenster den Sommer überschreibt.
Ich hoffe meine Frage ist verständlich :-)
Gruß Flipper
Zitat von: Flipper92 am 29 März 2017, 11:38:49
Ich hoffe meine Frage ist verständlich :-)
Glaskugel:
M.E. denkt man bei FHEM besser
ereignisorientiert statt
zustandsorientiert. Also nicht "ist das Fenster offen", sondern "oh, das Fenster geht auf (oder zu)". Alternativ gibt es Zeitereignisse, klar. Ich mache daher am liebsten notifys, die auf Ereignisse reagieren (Temperatur wird gemeldet oder eine Fensteröffnung) und dann prüfen, was jetzt die richtige Reaktion ist (dann mit einem if).
Dummies sehe ich eigentlich nur noch für zentrale Informationen als sinnvoll an (nutze aber nur FHEMWEB). Hier würde ich einen Kalender für Sommer/Winterumstellung einrichten und dann ein notify darauf reagieren lassen, welches das Heiz-Notify (de-)aktiviert (disable 1 bzw. 0).
Man kann notifys auch nur tageszeitmäßig eingeschränkt laufen lassen mit einem entsprechenden attribut.
Hilft Dir das weiter?
Gruß, Beta-User
Hi,
ich denke, dass das alles so ein bisschen Geschmacksache ist. Mach einer macht sowas mit großen DOIFs, der nächste mit einer Kombination aus notify, at und was sonst noch und wieder der nächste schreibt sich ein eigenes Modul dafür.
Speziell zur Heizung habe ich bei mir Komplexität rausgenommen, indem ich das ganze Jahr dasselbe Heizprogramm laufen habe. Wenn es kalt wird, dann ist mir egal, ob der Kalender Januar oder August zeigt. Die Thermostate machen ja von alleine zu, wenn es warm wird.
Gruß,
Thorsten
Agreed, es ist Geschmackssache...
Wenn ich den TE richtig verstanden habe, ging es ihm aber gerade darum herauszufinden, wer warum welche Lösung favorisiert ;).
Es sieht aber wenigstens danach aus, dass wir beide darin einig sind, dass tendenziell weniger mehr ist, man aber auf der anderen Seite immer im Auge haben sollte, welche konkreten Umstände zu berücksichtigen sind.
Z.B. ist meine Heizung/Therme dumm und weiß ohne manuellen Eingriff nicht, ob 15° Außentemperatur jetzt ein Anlaß sind, sich mal anzuwerfen. Ergo stelle ich das Ding um und dann kann ich auch alle HK-Thermostate auf Sommerbetrieb (manualMode/off) stellen und muß bei Fensteröffnung auch nichts mehr tun (ok, das ist jetzt Theorie, die sind direkt gepeert). Kommt halt darauf an...
Zitat von: Beta-User am 29 März 2017, 13:18:27
Es sieht aber wenigstens danach aus, dass wir beide darin einig sind, dass tendenziell weniger mehr ist, man aber auf der anderen Seite immer im Auge haben sollte, welche konkreten Umstände zu berücksichtigen sind.
Ja, so sehe ich das auch.
Zitat
Z.B. ist meine Heizung/Therme dumm und weiß ohne manuellen Eingriff nicht, ob 15° Außentemperatur jetzt ein Anlaß sind, sich mal anzuwerfen. Ergo stelle ich das Ding um und dann kann ich auch alle HK-Thermostate auf Sommerbetrieb (manualMode/off) stellen
Bei mir funktioniert das im Prinzip umgekehrt. Die Thermostate laufen immer gleich und in FHEM Werte ich die Ventilstellungen aus. Daraus wird eine Vorlauftemperatur berechnet, mit der dann der Heizkessel gesteuert wird. Also die Thermostate sagen dem System sozusagen, wann Sommer ist.
Gruß,
Thorsten
Hey zusammen,
Das ging mal wieder schnell :-)
Also mir ging es wie @Beta-User bemerkt hat hauptsächlich darum,wer warum was wie macht.
Die Heizung war nur ein beispiel. Wobei es in meinem Fall noch etwas schwerer ist (also Wenn warm dann Heizungskessel aus), da ich nur Einfluss auf den Thermostat habe.
Ich wohn in einer Mietwohnung und da darf ich leider nicht alles machen ohne die Schriftliche Erlaubnis und dem nachträglichen ausbau.
Deswegen hab ich auch nur Komponenten, die ich wieder schnell mitnehmen kann.
Zitat von: Beta-User am 29 März 2017, 12:34:39
M.E. denkt man bei FHEM besser ereignisorientiert
Das ist ein guter Tipp, mit diesem Gedanken werd ich dann weiter machen.
Dennoch fällt mir es schwer zu wissen, was ich wie am besten anstelle. Also Lieber Dummys steuern und fals die sich ändern den Hauptaktor schalten oder lieber längere IF schleifen.
Ich weiß, es gibt dann immer noch ein besseren Weg, als den, denn man aktuell geht.
Gruß Flipper
Zitat von: Flipper92 am 29 März 2017, 14:23:24
Also Lieber Dummys steuern und fals die sich ändern den Hauptaktor schalten oder lieber längere IF schleifen.
Wie gesagt Geschmacksfrage, aber grundsätzlich würde ich jeden unnötigen Zwischenschritt vermeiden. Also auf ein Ereignis hin einen Dummy ändern, um darauf wieder zu reagieren, wäre etwas, was ich tendenziell vermeiden würde.
Dazu noch zwei Gedanken:
- z.B. bei Temperaturen kann man die
Zahl der Events reduzieren, indem man Änderungschwellen setzt (event-on-change-reading mit Mindeständerung). Oder: Bei Eigenbau-Sensoren (MySensors in meinem Fall) kann man auch bereits den Sensor Grenzwerte erkennen lassen (sogar konfigurierbar), also beispielsweise ob jetzt gerade "hell" oder "dunkel" (oder "warm"/"kalt") ist.
- if-Abfragen kann man auch so ineinander verschachteln, dass erst mal die wesentliche Unterscheidungsfunktion geprüft wird und erst bei einem ja der ganze (aufwändigere) Rest relevant wird. In der Regel beschränkt sich das aber eh' auf wenige Fakten, die zu Prüfen sind, ist also eher eine akademische Diskussion...
Zitat von: Flipper92 am 29 März 2017, 14:23:24Die Heizung war nur ein beispiel. Wobei es in meinem Fall noch etwas schwerer ist (also Wenn warm dann Heizungskessel aus), da ich nur Einfluss auf den Thermostat habe.
Das macht die Sache meiner Meinung nach eher einfacher. Dann ist doch eigentlich ziemlich egal, was der Thermostat macht. Ok, er fährt wahrscheinlich ein paar Mal unnötig hin und her, aber das ist ja nicht schlimm.
...bzw. es macht nichts, wenn die Sommer-Steuerung nicht 100%ig stimmt.
Gruß,
Thorsten