Umzug / Erweiterung Homematic von rpi 3B auf rpi4

Begonnen von wowogiengen, 01 Februar 2020, 12:04:57

Vorheriges Thema - Nächstes Thema

wowogiengen

Hallo,
ich habe mir einen rpi 4 gekauft und möchte diesen nun als neue Homematic-Zentrale einsetzen.
Da ich in diversen Beiträgen und im Wiki auch immer wieder gelesen habe, dass die USB-CUL problematisch beim Einsatz für das Homematic-Funkprotokoll sind, möchte ich gerne umsteigen, und was "besseres" nehmen.
Im Wiki steht das "HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry_Pi" an erster Stelle. Das wäre doch was, oder?

Zu Beginn möchte ich jedoch entweder den alten rpi weiter als Funkbasis verwenden, oder den USB-Dongle dann gleich auf den neuen rpi umziehen.

Da FHEM sowohl für die Heizung als auch tlws. für meine Rolläden zuständig ist, möchte ich die "Ausfallzeit" möglichst gering halten...

Fragen:

  • welches Image ist für rpi4 geeignet? Das, was man standardmässig herunterladen kann? Ich habe bereits eine SD-Karte für rpi4 (makerfactory, Streaming Set...), die müsste ja auch gehen, oder?
  • funktioniert es, rpi3 als Funkbasis zu nehmen, und rpi4 dann bereits so einzurichten, dass er später selber die Funkbasis sein kann?
  • rpi4 soll von Anfang an mit Datenbank arbeiten, die Logs würde ich gerne über ein smb-share auf meiner Diskstation ablegen, damit die SD-Karte nicht so belastet wird (evtl. auch die DB, oder?)
  • Kann ich den rpi4 jetzt schon einrichten, auch wenn ich noch kein Funkmodul (USB CUL oder HM-MOD-RPI-PCB) habe? Ich glaube, dann brauche ich eine VCCU...

Viele Grüße
Wolfgang

CBSnake

Hi Wolfgang,

bring FHEM auf dem 4er ans laufen. Dazu brauchts ja keine Gateways etc.

Läuft alles kannst du auf dem 4er eine VCCU mit der hmID des USB-dongle erstellen. Welche Hardware die vccu dann anspricht ist egal die hmID wird von der vccu gesetzt/ersetzt.

Dann kannst ohne alles neu anlernen zu müssen umziehen und evtl auch gleich ausmisten ;-)

Grüße

Achim
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

Otto123

Hallo Wolfgang,

welches Image ist für rpi4 geeignet? Das, was man standardmässig herunterladen kann? Ich habe bereits eine SD-Karte für rpi4 (makerfactory, Streaming Set...), die müsste ja auch gehen, oder?
Die SD Card ist als Hardware sicher relativ egal. Als image nimmst Du aktuelles raspbian-lite.
Hol dir das HM-MOD-RPI-PCB Modul.

Richte erstmal alles auf dem neuen Pi NEU ein das es läuft. Im Wiki steht alles. Wenn Du mehr auf Anleitung aus dem Internet stehst nimmt meine :)

Bring das erstmal auf dem Pi zum laufen dann sehen wir weiter :)

Und plane keine Datenbanken auf der SD Karte vom Pi. Normale Text FileLogs sind überhaupt kein Problem.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

wowogiengen

Hallo Achim,
eigentlich wollte ich noch ein paar dumme Fragen stellen,
aber ich denke, dass es wirklich besser ist, zunächst den rpi4 in Betrieb zu nehmen.
- sqlite oder eine andere DB drauf installieren, vlt. sogar mehrere...
- fhem runterladen und installieren
- nodejs, nodered und Konsorten installieren - aber wie? Das letzte Mal als ich das gemacht habe, hat es mir meine ganze node-Installation dermassen verhunzt, dass auf dem alten rpi nix mehr in die Richtung geht...
- fhem mit vccu und DB-CFG/DB-Log einrichten
- ...

Viele Grüße
Wolfgang

Viele Grüße

Wolfgang

Otto123

also alles was ich weiß und denke: Eine Datenbank die ständig aktiv ist, "bohrt" kleine Löcher in die SD. Alle die ich bisher gefragt habe, bei denen SD Karten kaputt gegangen sind, hatten Datenbank auf dem Pi.

Wenn Du die DB extern oder auf ssd betreiben willst - kein Problem.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Pfriemler

Zitat von: Otto123 am 01 Februar 2020, 13:09:39
... Eine Datenbank die ständig aktiv ist, "bohrt" kleine Löcher in die SD. Alle die ich bisher gefragt habe, bei denen SD Karten kaputt gegangen sind, hatten Datenbank auf dem Pi.
Mich hast Du nicht gefragt.  :D
Ich habe im Laufe der Zeit zwei microSD eingebüsst, bei zugegeben etwas ausführlicherem (Debug-)Text-Logging. Allerdings halte ich die Dateien inzwischen klein, so gibt es für fhem inzwischen ein tägliches Log. Datenbanken hatte ich noch nie, i bäh.
Seit ich eine anständige Marken-SD benutze, ist noch nichts passiert, die aktuelle ist sicher schon zwei Jahre im Einsatz.

Zum Thema selbst ist alles gesagt.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

wowogiengen

Hallo,
hab den rpi4 mit dem Makerfactory-Kit fürs Streaming jetzt in Betrieb genommen. Ohne den CPU-Lüfter scheint das Ding an Überhitzung zu leiden :-/
Mit Lüfter ist es laut :/
Und nu? eher rhetorisch gefragt... Mit Lüfter natürlich.

FHEM+LOG+DB: also gleich gucken, dass das fhem-Log-Verzeichnis auf dem NAS ist... Und die DB auch extern betreiben. Muss nur schauen, dass ich die richtige drauf mache dann, bei sqlite brauchts ja keinen Treiber auf dem NAS, das ist nur eine Datei, oder?

Viele Grüße
Wolfgang

Otto123

Zitat von: Pfriemler am 01 Februar 2020, 14:36:48
Datenbanken hatte ich noch nie, i bäh.
OT sorry: ich weiß das doch, deswegen hab ich Dich nicht gefragt :)  ;D

Ich halte das mit den SD wie ganz früher mit den Reifen immer mal reih um tauschen, damit sie überall "abgefahren" werden ;)
Ich hatte glaub ich noch keinen defekt, aber ich habe auch nur Marke.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

wowogiengen

Hallo,
kann mir jemand helfen, wie ich das share der Diskstation auf dem rpi einbinden muss, damit ich die FHEM-Logs und FHEM-ConfigDB auf das share schreiben kann?

Habe FHEM normal eingerichtet und die config.db umgebogen:
configDB.conf:

%dbconfig= (
connection => "SQLite:dbname=/opt/fhem/external_DB/configDB.db",
user => "",
password => ""
);


Logs sind noch file-Logs, aber das will ich auch noch umbiegen.

Mit dieser Konfiguration kann ich in die config.db schreiben.
ls -l liefert mir dann
4 drwxr-xr-x  2 fhem dialout   4096 Feb  1 23:36 external_DB
und
4 drwxr-xr-x  2 fhem dialout   4096 Feb  2 09:20 log

Mit diesen Einträge in der /etc/fstab auf dem rpi:

//ds2/für_alle/Büro/Heimautomation/fhempi4/DB /opt/fhem/external_DB cifs vers=2.0,username=pi,password=****,user,uid=999,gid=20 0 0
//ds2/für_alle/Büro/Heimautomation/fhempi4/Log /opt/fhem/log cifs vers=2.0,username=pi,password=****,user,uid=999,gid=20 0 0
//diskstation/wolfgang/Projekte/Heimautomation /mnt/diskstation/fhem cifs vers=2.0,username=wolfgang,password=****,user,uid=1000 0 0


Damit seh ich dann das Verzeichnis auf der Diskstation.
Aber fhem startet nicht mehr. Hat wohl keine Schreibrechte in das Verzeichnis.

Wenn ich mit dem user "pi" versuche eine Datei zu schreiben/bearbeiten, geht das auch nicht,
nano external_DB/test.txt

erst mit
sudo nano external_DB/test.txt

darf ich die Datei schreiben.

Aber...
das Verzeichnis und die Datei haben die gleichen Zugriffsrechte wie vorher.
Außer...
in der /etc/fstab wird da etwas eingeschränkt?

Auf der diskstation gibt es den user pi:users, der alle Berechtigungen hat in diese Verzeichnisse zu schreiben.
Vom PC aus funktioniert auch das Bearbeiten der Dateien - aber vielleicht weil da ein anderer User zugreift... Werd ich gleich mal probieren...

Viele Grüße
Wolfgang

Viele Grüße
Wolfgang

Otto123

Hallo Wolfgang,

wenn es nicht an den Rechten liegt, liegt es daran, dass FHEM zu zeitig startet?
Siehe auch hier https://forum.fhem.de/index.php?topic=86432.0

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

wowogiengen

Hallo,
ich habs nicht hinbekommen.
Hab jetzt ganz einfach NFS statt SMB/CIFS verwendet, damit scheint der User fhem:dialout und pi:pi Zugriff auf die benötigten Dateien/Verzeichnisse zu haben...

Otto123

Naja ich denke da hätte Dir jeder Linuxer dazu geraten. ;)

Aber die Abhängigkeiten beim Start musst Du schon im Blick haben ....
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

wowogiengen

Zitat von: CBSnake am 01 Februar 2020, 12:40:59
Hi Wolfgang,

bring FHEM auf dem 4er ans laufen. Dazu brauchts ja keine Gateways etc.

Läuft alles kannst du auf dem 4er eine VCCU mit der hmID des USB-dongle erstellen. Welche Hardware die vccu dann anspricht ist egal die hmID wird von der vccu gesetzt/ersetzt.

Dann kannst ohne alles neu anlernen zu müssen umziehen und evtl auch gleich ausmisten ;-)

Grüße

Achim

Hallo Achim,
darf ich den Thread nochmals hochholen?
zunächst mal eine Übersicht über meine devices auf dem rpi4:

"list" -->

Type list <name> for detailed info.

CUL:
  CUL_0                (Initialized)

CUL_HM:
  VCCU                 (IOs_ok)
  _HzgAktorBuero00     (???)

notify:
  initialUsbCheck      (2020-02-17 19:21:45)

FileLog:
  FileLog_sysmon       (active)
  Logfile              (disabled)

DbLog:
  logdb                (connected)

DbRep:
  dbRep.logdb          (connected)

SVG:
  SVG_FileLog_sysmon_1 (initialized)

autocreate:
  autocreate           (active)

telnet:
  telnetForBlockingFn_1581963757 (Initialized)

weblink:
  SysValues            (initialized)


Ich habe mir eine VCCU erstellt:

Internals:
   DEF        F11034
   FUUID      5e47d8a5-f33f-aa51-11cc-b18e43150bcf99db
   NAME       VCCU
   NOTIFYDEV  global
   NR         12
   NTFY_ORDER 50-VCCU
   STATE      IOs_ok
   TYPE       CUL_HM
   assignedIOs
   chanNo     01
   READINGS:
     2020-02-17 19:21:45   IOopen          0
     2020-02-17 19:21:45   state           IOs_ok
   helper:
     HM_CMDNR   182
     mId        FFF0
     peerFriend peerSD,peerSens,peerAct
     peerOpt    -:virtual
     regLst     0
     rxType     1
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       prefIO     
       vccu       VCCU
       ioList:
     mRssi:
       mNo       
     prt:
       bErr       0
       sProc      0
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
       vrt        1
Attributes:
   IOList     CUL_0
   IOgrp      VCCU
   expert     2_raw
   model      CCU-FHEM
   subType    virtual
   webCmd     virtual:update


Und dazu passend dann den CUL als Funkantenne:

Internals:
   CMDS       BbCFiAZNkGMKUYRTVWXefmLltux
   CUL_0_MSGCNT 225
   CUL_0_TIME 2020-02-17 20:18:05
   Clients    :CUL_HM:HMS:CUL_IR:STACKABLE_CC:TSSTACKED:STACKABLE:
   DEF        /dev/ttyACM0@9600 1034
   DeviceName /dev/ttyACM0@9600
   FD         7
   FHTID      1034
   FUUID      5e4ad9b9-f33f-aa51-b8d7-9f83b8cae393ffee
   NAME       CUL_0
   NR         16
   PARTIAL   
   RAWMSG     A0D96A4106060E9F1103406013A0014
   RSSI       -64
   STATE      Initialized
   TYPE       CUL
   VERSION    V 1.66 CUL868
   initString X21
Ar
   owner_CCU  VCCU
   Helper:
     DBLOG:
       ccconf:
         logdb:
           TIME       1581964688.83662
           VALUE      freq:868.300MHz bWidth:325KHz rAmpl:42dB sens:4dB
       cmds:
         logdb:
           TIME       1581964697.31067
           VALUE       B b C F i A Z N k G M K U Y R T V W X e f m L l t u x
       state:
         logdb:
           TIME       1581964697.3786
           VALUE      CONNECTED
       uptime:
         logdb:
           TIME       1581964714.59095
           VALUE      0 00:17:00
       version:
         logdb:
           TIME       1581963797.7946
           VALUE      V 1.66 CUL868
   MatchList:
     1:CUL_HM   ^A....................
     8:HMS      ^810e04....(1|5|9).a001
     D:CUL_IR   ^I............
     H:STACKABLE_CC ^\*
     M:TSSTACKED ^\*
     N:STACKABLE ^\*
   READINGS:
     2020-02-17 19:38:08   ccconf          freq:868.300MHz bWidth:325KHz rAmpl:42dB sens:4dB
     2020-02-17 19:38:17   cmds             B b C F i A Z N k G M K U Y R T V W X e f m L l t u x
     2020-02-17 20:18:05   state           Initialized
     2020-02-17 19:38:34   uptime          0 00:17:00
     2020-02-17 19:23:17   version         V 1.66 CUL868
Attributes:
   hmId       F11034
   rfmode     HomeMatic

Das scheint soweit zu funktionieren. Ich kann die LED des CUL steuern ;)


Aber wie krieg ich jetzt meine einzelnen Devices (Homematic) in den neuen rpi4?
Ich hab gerade gesehen, dass die VCCU readings dieser Art aufgezeichnet hat:


unknown_33D038 received 2020-02-17 20:18:23
unknown_3F8344 received 2020-02-17 20:21:15
unknown_4596B9 received 2020-02-17 20:22:13
unknown_4596C0 received 2020-02-17 20:21:28

Das sind in der Tat die HMIDs meiner Devices die sich jetzt schon melden, mit Readings...

Wie bekomme ich aber diese ganzen Definitionen in die neue FHEM-Installation?
Bei der Erstinstallation hab ich ja alles anlernen müssen. Aber du schreibst ja, dass ich das nicht mehr brauche, sondern nur umziehen und ausmisten.
Ausmisten wollte ich so machen, dass ich alle Homematic-Devices so lasse wie beim alten rpi (aber wie krieg ich die erstmal hier rein?), und dann nach Bedarf meine ganzen Notifies, DOIfs,Plots etc. nochmal reinhole.

Theoretisch müsste es aber ja auch gehen, die config.db zu kopieren und mit der dann zu arbeiten...

Fragen über Fragen...
Viele Grüße
Wolfgang




Otto123

Hallo Wolfgang,

der VCCU fehlt noch das attr IODev.

Deine Definitionen kannst Du aus der alten Installation eigentlich (fast) aus der Raw Definition übernehmen.

Hast Du das versucht?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

wowogiengen

Hallo Otto,
das IODev habe ich nachgetragen, das müsste aber eigentlich im list schon mit drin sein - außer ich habs dann vergessen zu editieren :/

Habs jetzt grade mal mit diesem Device nochmal probiert (allerdings ist meine Funkantenne wieder am alten rpi dran):



defmod HzgAktorBad CUL_HM 4FB4A5
attr HzgAktorBad userattr room_map structexclude
attr HzgAktorBad .* 1
attr HzgAktorBad .mId 0004
attr HzgAktorBad IODev Funkantenne
attr HzgAktorBad autoReadReg 5_readMissing
attr HzgAktorBad event-min-interval .*:900
attr HzgAktorBad event-on-change-reading .*
attr HzgAktorBad event-on-update-reading .*
attr HzgAktorBad expert 251_anything
attr HzgAktorBad firmware 2.8
attr HzgAktorBad group Heizung
attr HzgAktorBad model HM-LC-SW1-FM
attr HzgAktorBad peerIDs 00000000,
attr HzgAktorBad room Bad,Heizung,System
attr HzgAktorBad serialNr NEQ1277795
attr HzgAktorBad subType switch
attr HzgAktorBad webCmd statusRequest:toggle:on:off

setstate HzgAktorBad off
setstate HzgAktorBad 2019-02-21 06:10:19 .peerListRDate 2019-02-21 06:10:19
setstate HzgAktorBad 2020-02-17 21:41:57 .protLastRcv 2020-02-17 21:41:57
setstate HzgAktorBad 2020-02-17 21:41:57 CommandAccepted yes
setstate HzgAktorBad 2018-12-17 09:46:30 D-firmware 2.8
setstate HzgAktorBad 2018-12-17 09:46:30 D-serialNr NEQ1277795
setstate HzgAktorBad 2019-02-21 06:10:18 PairedTo 0xF11034
setstate HzgAktorBad 2019-02-21 06:10:18 R-confBtnTime permanent
setstate HzgAktorBad 2019-02-21 06:10:18 R-intKeyVisib invisib
setstate HzgAktorBad 2019-02-21 06:10:18 R-localResDis off
setstate HzgAktorBad 2019-02-21 06:10:18 R-pairCentral 0xF11034
setstate HzgAktorBad 2019-02-21 06:10:18 R-powerUpAction off
setstate HzgAktorBad 2019-02-21 06:10:18 R-sign off
setstate HzgAktorBad 2019-02-21 06:10:18 R-statusInfoMinDly 2 s
setstate HzgAktorBad 2019-02-21 06:10:18 R-statusInfoRandom 1 s
setstate HzgAktorBad 2019-02-21 06:10:18 R-transmitTryMax 6
setstate HzgAktorBad 2019-02-21 06:10:18 RegL_00. 00:00 02:01 0A:F1 0B:10 0C:34 15:FF 18:00
setstate HzgAktorBad 2019-02-21 06:10:18 RegL_01. 00:00 08:00 30:06 56:00 57:24
setstate HzgAktorBad 2020-02-17 21:41:57 deviceMsg off (to vccu)
setstate HzgAktorBad 2020-02-17 21:41:57 level 0
setstate HzgAktorBad 2019-03-30 10:45:55 levelMissed desired:100
setstate HzgAktorBad 2020-02-17 21:41:57 pct 0
setstate HzgAktorBad 2019-01-12 22:05:35 powerOn 2019-01-12 22:05:34
setstate HzgAktorBad 2020-02-17 21:41:57 recentStateType ack
setstate HzgAktorBad 2020-02-17 21:41:57 state off
setstate HzgAktorBad 2020-02-17 21:41:57 timedOn off



Ein paar Attribute passen aber nicht, da man sie wohl nicht selber setzen darf:
- .mid
- model
- subtype

Wenn ich die rauslasse, scheint es zu gehen, zumindest kommt beim Ausführen der Kommandos dann kein Fehler mehr...
Aber woher weiß ich, was ich brauche, und was ich draussen lassen kann?

VG
Wolfgang