Mehrere FHEM im Netzwer... und dann einen Zentralen FHEM?

Begonnen von MiilaMaheAedOU, 13 Dezember 2017, 12:56:31

Vorheriges Thema - Nächstes Thema

MiilaMaheAedOU

Guten Tag,

also ich bin Open Source Entwicklerin, arbeite seit 1999 mit Debian GNU/Linux (Slink 2.1), enwickle auch Hardware (ARM basierend und mit CAN) und nun habe ich seit 2014 eine experimentelle BioFarm in Miila/Estland im Aufbau...

So, nun benötige ich mehr als 300 Sensoren und Aktoren dafür und werde mir natürlich die Hardware selber bauen.

Also in Frage kommen

1) Raspberry PI 3

2) Texas Instruments Sitara mit 3 CAN ports, Ethernet und Display

Leztere müßte von mir komplett entwickelt werden, bedeutet aber auch, das er stricksten Automotive/MIL standards entsprechen würde, denn in Estland haben wir schon mal -30 bis -40 Grad Celsius...

Wie dem auch sei, ich habe gesehen das FHEM kein CAN Modul (CANopen) hat, weshalb ich vorhabe dies zu entwickeln.

OK, nun ist es so, das ich die "Controll Computer" (also Wall-Mounted embedded PC) per Objekt haben will, also

1) Haus
2) Werkstatt
3) 3x Gewächshaus
4) 4x Earthstorrage
5) Stall
6) Energieversorgung (4 Kleinwindanlagen, 3 -6 Solaranlagen, Batterien, Stromgenerator)
7) Wetterstation
8) Aussenanlage
9) Wald
...

Das ganze befindet sich innerhalb meines Farm-Netzwerks welches lediglich über einen 4G Router mit bizzarer privater IP am Internet haengt.

Gut, die einzelnen Controller sammeln die Infos und sollen sie an einen Intranet Server senden, der diese in meiner PostgreSQL speicher.

Dann will ich eine neunen Host einrichten, wie z.b. https://fhem.miila-mahe-aed.eu/ über den ich Daten öffentlich oder privat haben kann.

So, nun die Software entwicklung:

Das interface der Controll Computer sollt sowas wie die FHEM FLOORPLAN module sein, das ist intuitiv und sieht auch optisch cool aus, obwohl ich seit 40 Jahren Star Trek Fan bin...  LCARS ist cool!

Nunja, ich will nicht auf alle Controll Computer einzeln zugreifen, womit ich auf meinem Intranet Server eine FHEM instanz benötige, die auf alles zugreifen kann...

Eine copie davon muss auf meinem öffentlich Webserver sein...

Frage:

Ist dies mit FHEM technisch realisierbar und was für Config änderungen muessen da gemacht werden?

Anm.:  Ich kann KEINE andere Datenbank als PostgreSQL verwenden, da ich ansonnsten die naechsten 10 Jahre mit reprogrammierung von einigen 100 Applikationen beschaeftigt bin...  Abgesehen davon ist MySQL keine Löesung, sondern ein Zustand!

Gruesse und dank im voraus
Michelle

MiilaMaheAedOU

Habe noch was vergessen:

mein wichtigstes Modul was ich derzeit benötige ist für

https://www.miila-mahe-aed.eu/renewable_energies/energy_harvesting.php

denn das tägliche ablesen und datei abladen wird allmählich nervig.

Beta-User

Hallo Michelle,

willkommen im Forum!
Schönes "Projektchen" hast du da vor...

Vorab eine Warnung: Ich bin kein Software-Entwickler, habe auch keine Ahnung von Datenbanken und nur einen einzigen Rechner mit FHEM am laufen.

Grundsätzlich sollte das schon möglich sein, FHEM zur Unterstützung bzw. Visualisierung einzusetzen. Üblicherweise würde man diverse FHEM-Instanzen mit FHEM2FHEM oder RFHEM verbinden. Allerdings bin ich mir nicht so sicher, ob das die richtige Infrastruktur ist, um so ein Projekt umzusetzen.

Hier würde ich neben dem zentralen Steuerungsrechner (der mit FHEM laufen kann) das Konzept eventuell so gestalten, dass die Infos bzw. Schaltanweisungen zu mehr oder weniger entfernten Stationen eventuell auf andere Art und Weise ausgetauscht werden. Spontane Stichworte dazu wären MQTT und LoRa.

MQTT ist als robustes Protokoll mal entwickelt worden, um große verteilte Systeme zu überwachen und kann als Informationsquelle auch gut in FHEM genutzt werden.

Wenn Teilsysteme "nur" regelmäßig verhältnismäßig wenige Informationen senden sollen (alle 10 Min. Leistungsdaten von einem Energieerzeuger), könnte das auch über eine Microprozessor-basierte Lösung gehen. Über RFM95-LoRa-Module sollten sich auch über mehrere km solche Infos senden lassen, bei MySensors.org ist sowas jedenfalls in der Entwicklung. Auch hier ist die Einbindung in FHEM gut und einfach, dazu noch recht kostengünstig.

Bin mal gespannt, wie du das letztendlich lösen wirst!

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

MiilaMaheAedOU

Hallo Beta-User

Zitat von: Beta-User am 13 Dezember 2017, 13:17:18
Grundsätzlich sollte das schon möglich sein, FHEM zur Unterstützung bzw. Visualisierung einzusetzen. Üblicherweise würde man diverse FHEM-Instanzen mit FHEM2FHEM oder RFHEM verbinden. Allerdings bin ich mir nicht so sicher, ob das die richtige Infrastruktur ist, um so ein Projekt umzusetzen.
Das sehe ich mir einfach mal an...

Zitat von: Beta-User am 13 Dezember 2017, 13:17:18
Hier würde ich neben dem zentralen Steuerungsrechner (der mit FHEM laufen kann) das Konzept eventuell so gestalten, dass die Infos bzw. Schaltanweisungen zu mehr oder weniger entfernten Stationen eventuell auf andere Art und Weise ausgetauscht werden. Spontane Stichworte dazu wären MQTT und LoRa.

MQTT ist als robustes Protokoll mal entwickelt worden, um große verteilte Systeme zu überwachen und kann als Informationsquelle auch gut in FHEM genutzt werden.

Wenn Teilsysteme "nur" regelmäßig verhältnismäßig wenige Informationen senden sollen (alle 10 Min. Leistungsdaten von einem Energieerzeuger), könnte das auch über eine Microprozessor-basierte Lösung gehen. Über RFM95-LoRa-Module sollten sich auch über mehrere km solche Infos senden lassen, bei MySensors.org ist sowas jedenfalls in der Entwicklung. Auch hier ist die Einbindung in FHEM gut und einfach, dazu noch recht kostengünstig.

Hmmm, es ist halt nur so, das ich eine nette Grafische Oberflaeche in den Controll Computern (entfernte Schaltzentralen) haben will, was ich schon selber programmiert habe, aber eben aufwendig ist, wenn es flexibel sein muss.  Denn in ein TFT ein Bild einblenden, Daten anzeigen und mit das resistive Touchscreen abfragen (kapazitive funktionieren nicht bei hoher Luftfeuchtigkeit oder -20 Grad Celsius) ist einfach, aber wenn Du jährlich ändeung am Gewächshaus vornimmst, dann ist das NERVIG.

Deswegen war meine Idee, auch auf den Controll Computern (entfernte Schaltzentralen) eben FHEM zu installieren.

So wie es aussieht muss ich das mal ausprobieren.

Zitat von: Beta-User am 13 Dezember 2017, 13:17:18
Bin mal gespannt, wie du das letztendlich lösen wirst!

Ich selber auch, denn derzeit (also dieses Jahr) war ich hoffnungslos überlastet und habe mal schlappe 13 kg verloren, bin also kein fettes Schwein mehr... :P ...nur noch gut ernährt!  Ein paar kg fehlen noch.

Gruesse
Michelle

herrmannj


Beta-User

OK, Danke für die Rückmeldung.

Wenn du eh' an den entfernten Stationen eine neue Steuerungssoftware einsetzen willst, ist das was anderes. (Und das auch brauchst, für einfache Dinge reicht uU. auch was einfacheres, also eine Art Szenencontroller, ähnlich dem hier).

Ansonsten würde ich trotzdem nochmal das Stichwort MQTT in den Raum stellen - das erscheint mir auch beim Einsatz mehrerer FHEM-Rechner vor allem dann interessant, wenn die Kommunikation ggf. störanfällig ist. Vielleicht meldet sich hier noch jemand, der Erfahrung damit hat.

Das bietet ggf. auch eine einfache Möglichkeit, die bestehenden Stationen - die du ja bereits programmiert zu haben scheinst - recht einfach aufzubohren. Der vorhandene Code müßte dann halt um die MQTT-Kommunikation erweitert werden, aber dafür sollten für praktisch alle Plattformen schon libraries verfügbar sein.

Aber meistens führen mehrere Lösungen zum Ziel, mal sehen, was andere dazu denken :) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Thorsten Pferdekaemper

Hi,
also beim ersten Lesen dachte ich mir: Scheiße, klingt das interessant. Ich fange gleich bei Dir an...
Wenn Du tatsächlich so gut bist, was Soft- und Hardware-Entwicklung betrifft, dann sollte das ganze mit FHEM gehen. Natürlich ist das ganze ziemlich groß, aber die einzelnen "Control Computer" müssen ja immer nur einen recht übersichtlichen Teilaspekt abdecken.
Allerdings habe ich nicht ganz verstanden, wie die Integration tatsächlich passieren soll. Entweder die einzelnen Control Computer schreiben mehr oder weniger direkt in die zentrale Datenbank und das zentrale FHEM holt die Daten irgendwie aus dieser Datenbank, oder das ganze läuft über das zentrale FHEM, welches in die Datenbank schreibt. Da kommt es ggf. auch darauf an, ob das zentrale FHEM auch irgendwas schalten können soll, oder eben nur Daten aufzeichnet.

Von wegen "nette Oberfläche" und FHEM gibt es immer wieder Diskussionen. Es gibt einige Leute, die der Meinung sind, dass das gerade die größte Schwäche in FHEM ist. Meiner Meinung nach ist die FHEMWEB-Oberfläche für Administratoren oder Entwickler richtig gut, aber nicht wirklich für "Endbenutzer" oder um mal schnell einen Überblick zu bekommen. Man kann natürlich mit Floorplan oder Tablet-UI einiges machen, aber über deren Flexibilität lässt sich auch wieder streiten. (Für Tablet-UI bin ich gerade dabei, was zu basteln, aber da bin ich erst am Anfang.)

Von wegen MQTT oder nicht: Mir ist nicht so ganz klar, was das in dem Fall bringen soll. Man müsste sowieso nochmal eine Schicht oben drauf packen, was man bei FHEM2FHEM oder RFHEM nicht braucht.

Gruß,
    Thorsten
FUIP

Beta-User

Kurz, was die (vielleicht völlig verkehrte) Idee (eines derzeitigen Nichtanwenders dieser ganzen hier in Rede stehenden Technologien) in Richtung MQTT angeht:

- Das Protokoll ist dafür gemacht, auch auf Verbindungsabbrüche nicht gleich empfindlich zu reagieren - wie das bei RFHEM und FHEM2FHEM ist, kann ich nicht sagen. Es _könnte_ also robuster sein.
- MQTT als Kommunikationslayer läßt sich auch auf einfacheren Devices realisieren. Wenn man nicht (gleich) alles mit FHEM ausrüsten will, ist das evtl. als (übergangsweise) Erweiterungsmöglichkeit vorhandener Hardware eine _mögliche_ Lösung.

(Was mir beim Schreiben hier noch eingefallen ist: Hat man einen MQTT-Broker am laufen, kann man die Visualisierung evtl. auch auf andere Art machen, aber dazu habe ich außer dem Grundgedanken (und den vielleicht passenden Stichworten IOBroker oder nodered) nun gar keine weitere Idee). FHEM ist in dem Punkt grafische Gestaltung jedenfalls dem Hörensagen gegenüber nach anderen Lösungen im Hintertreffen, das ließe sich evtl. dadurch Umschiffen, dass man den Teil mit ganz anderen Tools löst.

Kann aber auch ganz falsch sein. Bin also schlicht gespannt, hier was neues zu lernen ;) .

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

MiilaMaheAedOU

Zitat von: herrmannj am 13 Dezember 2017, 13:45:59
Welchen Zeitplan hast du dir gesetzt ?

Mail 2017!  Örgs!

Nun wirds aber für mich dringend und ich muß mindestens meine Power Station bis April 2018 fertig bekommen

Benötige also erst mal den Controll-Computer und dann folgende Sensoren:

1) Batteriespannung  (24V)
2) Batterie Temperaturen (6x)
3) Ladestrom Victron Energy BlueSolar MPPT 150/85 (3x)
4) Ladestrom windMAX1000 -> iSTA-Breeze i-700 (2x)
5) Ladestrom windMAX2000 -> iSTA-Breeze i-2000 (2x)
6) Generator Ladestrom (Hatz Diesel 1,9kW 28V 68A)
7) Ferneinschaltung des Generators
8) Gesamtlaststrom =>1200A
9) Laststrom Carport 200A (sind eigentlich die beiden 12V/20A und 24V/60 Ladeggeräte fuer die Autos und meine beide E-Traktoren)
10) 4 Temperatursonden im 8-10m³ Erdwärmespeicher unter den Batterien (wird durch Überschußenergie aufgeladen sowie Compostheizung)
11) 2 Tempoeratursonden Compost
12) Flowsensor (Kobold, einfacher Schalter)
13) Xylem/Lowara EcoCirc D5vario Zirkulationspumpe
14) Temperatursensor im Batterie-Storrage
15) Außentemperatur (muss bis mindestens -40 Grad Celsius gehen)

Was ich noch benötige, später aber Objektbezogen einen eigenen Controll Computer bekommen wird, sind

A) Laststrom Haus (200A)
B) Laststrom Werkstatt (300A)
C) Laststrom Gewächshaus (200A)
D) Laststrom Earthstorrage (200A)

Ich hoffe, das ich nichts vergessen habe.

Oh doch, die Stromsensoren sollen definitiv keine Shuntwiderstaende sein sondern HAL-Sensoren

Grüße
Michelle

CoolTux

Wenn das erwähnte CANopen das selbe ist wie openHCAN dann ist bereits ein Modul in entwicklung. Der Guido würde sich über tatkräftige Unterstützung sehr freuen, er hat selber einen engen Zeitplan.


https://forum.fhem.de/index.php/topic,77854.0.html



Grüße
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

Was mir immer noch nicht klar ist:

- ist der entferne FHEM nur "Sammelrechner" oder "Steuerrechner" für die Clients? D.h. geht der Informationsfluß von den Clients zum Zentralserver oder geht es manchmal auch andersherum? Bzw. sind die Einzelrechner Eigensteuerfähig, d.h. machen alles selber, oder sammeln sie nur Daten und warten auf Zentrale Auswertung?

Je nach Datenflußrichtung gibt es dann unterschiedliche "Lösungen"
- 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

GU!DO

Hallo Michelle,

also, wie CoolTux schon geschrieben hat, bin ich (eigentlich muss man sagen sind CoolTux und ich) grad dabei openHCAN und FHEM zu verheiraten.

openHCAN ist ein Bussystem das zum Betrieb in Einfamilienhäusern entwickelt wurde. Die Standard Controller haben 16 Ein- und 12 Ausgänge.
Lassen sich aber mit minimalem Aufwand auf 8 Ein- und 20 Ausgänge umrüsten. Außerdem gibt es ein Multiplexer Modul, damit ist noch mehr drin.
Da die Controller aber sehr preiswert sind (Bauteilkosten ca. 30 EUR) habe ich das Modul nicht im Einsatz.

Die Controller basieren auf ATMega32 bzw. ATMega644 und kommunizieren über CAN Bus. Die einzelnen Controller lassen sich über den Bus sowohl konfigurieren, als auch updaten (Firmware).
Die Firmware und alle weiteren Tools sind in C programmiert.
Ich habe das System schon seit ca. 10 Jahren ohne jegliche Probleme im Einsatz - allerdings (bisher) noch nicht bei -40° Celisus.  ;D

Falls das interessant klingt, kannst Du dich ja mal im Wiki umsehen: https://github.com/hcanIngo/openHCAN/wiki

Viele Grüße & gutes Gelingen

Guido

MiilaMaheAedOU

Zitat von: Wernieman am 13 Dezember 2017, 21:05:34
Was mir immer noch nicht klar ist:

- ist der entferne FHEM nur "Sammelrechner" oder "Steuerrechner" für die Clients? D.h. geht der Informationsfluß von den Clients zum Zentralserver oder geht es manchmal auch andersherum? Bzw. sind die Einzelrechner Eigensteuerfähig, d.h. machen alles selber, oder sammeln sie nur Daten und warten auf Zentrale Auswertung?

Je nach Datenflußrichtung gibt es dann unterschiedliche "Lösungen"

In erster Linie Steuerrechner, den ich auch vor Ort abrufen will und eventuell Änderungen vornehmen.
Also mit localem Webbrowser.

Wenn ich "zuhause" bin ist es ja kein Problem innerhalb meines Netzwerks auf die IP oder locale Domain zuzugreifen.

Und jetzt wirds kompliziert, denn ich will die Daten alle auf einem Zentralen Rechner haben um alles zusammen auswerten zu koennen...
Als 1zu1 Copie waehre ja genug.

Aber dann will ich auch die Möglichkeit haben, das ganze von der Antarktis, vom Mond oder vom Mars aus zu steuern.

Mein Root-Server steht derzeit in Nürnberg bei Hetzner wird aber noch nach Tallinn umziehen.
Die Frage ist nun, wie kann ich von ausserhalb meines Netzwerks das ganze administrieren oder öffentlich abrufen?

Wenn es nur um Statistiken und angucken geht, was bei mir los ist, kann das ganze ja passiv gemacht werden und mein Intranetserver kann die Daten ja per Upload auf meinem Root-Server replizieren...  Dann habe ich auch gleichzeitig ein Backup.

Nur in der anderen Richtung ist es kompliziert...

VPN Tunnel einrichten und das über GSM Netzwerk?
Mir graut bereits davor!

Gruesse
Michelle

MiilaMaheAedOU

N'Abend GU!DO,

Zitat von: GU!DO am 13 Dezember 2017, 22:08:33
Hallo Michelle,

also, wie CoolTux schon geschrieben hat, bin ich (eigentlich muss man sagen sind CoolTux und ich) grad dabei openHCAN und FHEM zu verheiraten.

Bin bereits am lesen des Topics...

Zitat von: GU!DO am 13 Dezember 2017, 22:08:33
openHCAN ist ein Bussystem das zum Betrieb in Einfamilienhäusern entwickelt wurde. Die Standard Controller haben 16 Ein- und 12 Ausgänge.
Lassen sich aber mit minimalem Aufwand auf 8 Ein- und 20 Ausgänge umrüsten. Außerdem gibt es ein Multiplexer Modul, damit ist noch mehr drin.
Da die Controller aber sehr preiswert sind (Bauteilkosten ca. 30 EUR) habe ich das Modul nicht im Einsatz.

Die Controller basieren auf ATMega32 bzw. ATMega644 und kommunizieren über CAN Bus. Die einzelnen Controller lassen sich über den Bus sowohl konfigurieren, als auch updaten (Firmware).

Die Firmware und alle weiteren Tools sind in C programmiert.
Ich habe das System schon seit ca. 10 Jahren ohne jegliche Probleme im Einsatz - allerdings (bisher) noch nicht bei -40° Celisus.  ;D

Falls das interessant klingt, kannst Du dich ja mal im Wiki umsehen: https://github.com/hcanIngo/openHCAN/wiki

...und auch bereits hier am lesen.

Nunja, ich verwende das pure CANopen Protocol und vollstaendig Microcontroller mir Indistrie-Qualität, welche von -40°C bis +85 (105)°C aushalten. Estland ist hat weit oben im Norden...

Erfahrung habe ich mit dem NXP Cortex M0 LPC11C24 seit vielen Jahren (und er ist saubillig mit 1,2€/Stück, besonderst wenn man ein Rail mit 250Stück abnimmt) und die meisten chips haben nur einen Sensor dran...  Das teisterst daran ist meist der Sensor, wie ein HAL-Stomsensor oder Gas- oder Temperatur-Sensor.

Gut, hatte auch ein paar M0 welche ausschließlich GPO/GPI hatten.

Meine Frage ist zu Dir, wie weit ist openHCAN compatibel mit CANopen und industriellen Nodes?

Ich meine die sind ja genormt und ich gehe davon aus, das ihr eure eigene Norm geschrieben habt denn "H" bedeute ja so was wie "Home" richtig?

Mein CAN bus war/ist dafür ausgelegt, das ich jedes industrielle CAN kompatibel Gerät anschließen kann.

Von der Spezifikation bin ich auch kein Bit abgewichen.

Ich war bis 2012 Mitglied der CAN CIA und habe vor, wieder einzusteigen, aber erst brauch ich mein Haus, also ein Dach über dem Kopf, dann muss meine BioFarm laufen (ohne Moos nix Los) und dann kommen Elektronik- und IT Arbeitsplatz hinzu, welche ich definitiv ab Winter 2018/19 benötige weil ich sonst arbeitslos 4-5 Monate herumsitze.

Muss morgen früh wieder um 8 Uhr bei -5°C und 10cm Schnee raus, am nicht fertigen Wildschutzzaun weiterarbeiten.  Ist an den Pfosten nur provisorisch festgemacht und ich habe noch 550m vor mir...  um 16:00 ist es bereits so Dunkel, das man nichts mehr sieht!

Anm.: Wer nach Estland auswandern will:  Es gibt hier jede menge Grundstücke für weniger als 0,50€/m²... Habe mir 2,8ha für 5500€ gekrallt.

Gruesse und gute Nacht
Michelle

GU!DO

Hallo Michelle,

sorry, in der CAN Thematik stecke ich leider nicht sonderlich tief drin. Ggf könnte Ingo, der den Hauptteil der Entwicklung macht, weiterhelfen. Er hat das Projekt jedoch auch von Martin Haller übernommen. Oder Du fragst im Forum auf openHCAN.org nach. Dort ist zwar nicht sehr viel los, jedoch gehen Threads weiter in die Mailingliste und werden von allen gelesen.

Erstmal viel Erfolg beim Einzäunen. Die 50 ct. / m2 sind ja sehr verlockend, relativieren sich glaube ich jedoch sehr schnell durch die Heizkosten.  ;)

Viele Grüße

Guido