Zwei Alexa-FHEM-Instanzen mit einem ALexa-Skill?

Begonnen von juemuc, 18 März 2024, 22:19:11

Vorheriges Thema - Nächstes Thema

juemuc

Hallo,

ich habe jeweils ein FHEM-Test- und eine FHEM-Produktiv-System und den dazugehörigen Alexa-FHEM-Connector am laufen. Wenn ich nun die Geräte vom Testsystem über Alexa steuern möchte, muss ich jedesmal in der App den anderen Proy-Key eintragen. Geht dies auch einfacher? Das gleiche gilt auch für ein Backup-System.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

MadMax-FHEM

#1
Ja, einfach auf einem der Systeme alexa-fhem und dann dort in der alexafhem-config beide fhem eintragen...

EDIT: bzw. (wie du gemerkt hast) 1 Skill 1 alexa-fhem...
Aber eben 1 Skill mehrere fhem :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

juemuc

Hallo Joachim,

danke für die Info. Ich hatte die Info so auch schon vor einiger Zeit mal gelesen. Allerdings stehe ich vor dem Problem, dass ich nicht weiß, wie ich dies Eintragen muss. Zusätzlich kommt zum tragen, dass ich das Ganze in Docker-Container am Laufen habe. Die Verbindung zu "Alexa" läuft über den "Alexa-Fhem"-Container. Die Verknüpfung zum FHEM-Container ist in der config.json definiert und erfolgt über Port 8093 (eigenes WEB-Device in FHEM):

{
  "alexa": {
    "port": 3000,
    "name": "Alexa",
    "ssl": false,
    "keyFile": "/certs/alexa-fhem.key",
    "certFile": "/certs/alexa-fhem.crt",
    "nat-pmp": "",
    "nat-upnp": false,
    "applicationId": "amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX",
    "oauthClientID": "amzn1.application-oa2-client.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  },
  "sshproxy" : {
    "description" : "FHEM Connector",
    "ssh" : "/usr/bin/ssh"
  },
  "connections": [
    {
      "name": "FHEM",
      "webname": "fhem",
      "ssl": true,
      "filter": "alexaName=..*",
      "auth": {"user": "USER", "pass": "PSW"},
      "uid": "6062",
      "port": "8093",
      "server": "FHEM-Docker"
    }
  ]
}


Das zweite FHEM-System läuft auf einem PI3B+ unter PI-OS. Hier ist der Alexa-FHEM-Connector unter NODEJS installiert.

Im Idealfall soll Alexa-FHEM im Container die Verbindungen verwalten, da der PI hin und wieder "streikt".


Hast Du hierzu einen Tipp.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

MadMax-FHEM

#3
Naja, wie geschrieben: 1 Skill/Account -> 1 alexa-fhem

Du willst das alexa-fhem im Docker nutzen (bzw. ist es egal), dann dort in die config halt einfach 2 fhem-Connections eintragen:

  "connections": [
    {
      "name": "FHEM",
      "webname": "fhem",
      "ssl": true,
      "filter": "alexaName=..*",
      "auth": {"user": "USER", "pass": "PSW"},
      "uid": "6062",
      "port": "8093",
      "server": "FHEM-Docker"
    },
    {
      "name": "FHEM",
      "webname": "fhem",
      "ssl": true,
      "filter": "alexaName=..*",
      "auth": {"user": "USER", "pass": "PSW"},
      "uid": "6062",
      "port": "8093",
      "server": "FHEM-PI"
    }
  ]

Damit greift dann das EINE alexa-fhem (welches auch immer du wählst) auf BEIDE fhem zu.
Die entsprechenden Einstellungen bzgl. filter (könntest auch unterschiedliche nehmen ;) ) und user/pw/ssl/port/... halt entsprechend anpassen...

Zitat{
  "alexa": {
    "port": 3000,
    "name": "Alexa",
    "ssl": false,
    "keyFile": "/certs/alexa-fhem.key",
    "certFile": "/certs/alexa-fhem.crt",
    "nat-pmp": "",
    "nat-upnp": false,
    "applicationId": "amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX",
    "oauthClientID": "amzn1.application-oa2-client.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  },
nutzt du Custom Skill?

Zitat von: juemuc am 20 März 2024, 16:17:13Hast Du hierzu einen Tipp.
Wozu genau jetzt? ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

juemuc

Hallo Joachim,

danke für die Info (Tipp  ;D ). Ich werde dies gleich testen.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

hetterich

Hallo miteinander,

ich möchte mich gerne der Frage anschließen, allerdings mit etwas anderen Voraussetzungen.
1 x Fhem Zuhause und 1 x Fhem im Wohnmobil. Also 2 getrennte Netzwerke.
Bisher habe ich für beide Instanzen die Ha-Bridge genutzt, die beide auf das gleiche Amazon Konto angemeldet sind.
Ich konnte also mit den Alexa's im WoMo meine Geräte Zuhause ebenfalls steuern und umgekehrt.

Da die Bridge allerdings mit über 74 Devices im Heimnetz überfordert war habe ich nach anderen Lösungen gesucht und
bin auf den Fhem-Connector aufmerksam geworden.
Das Heimnetz habe ich mittlerweile schon bis auf 3 Thermostate erfolgreich integriert.
(Siehe meinen Post/Frage: Homematic Thermostate 14 erkannt, 3 trotz gleicher Konfiguration nicht.)

Die Ha-Bridge im WoMo läuft noch, ich würde aber auch diese gerne auf den Connector umstellen.

Gibt es auch hier eine Möglichkeit die Fhem Instanz im WoMo und Alexa mit dem gleichen Key (für denSkill)
und gleichem Amazon-Konto wie Zuhause laufen zu lassen?

Viele Grüße
Peter


MadMax-FHEM

Zitat von: hetterich am 16 April 2024, 18:18:33Gibt es auch hier eine Möglichkeit die Fhem Instanz im WoMo und Alexa mit dem gleichen Key (für denSkill)
und gleichem Amazon-Konto wie Zuhause laufen zu lassen?
Ich glaube nicht, dass das geht.
Du bekommst (vermutlich) ja unterschiedliche Skill-Codes bei den Installationen und du hast aber ja nur einen fhem-Skill pro Konto...

Aber: probiere es doch einfach aus. Was soll schon groß passieren? Schlimmstenfalls musst du halt im WoMo alexa-fhem deinstallieren und im Haus den Skill wieder neu verknüpfen (evtl. vorher zurücksetzen).

Den anderen Thread hab ich schon gesehen aber: wo sind lists der Devices die nicht gehen? Wo ein list eines vergleichbaren Devices welches geht?
Datei runterladen: ungern...

Bzw. generelle Anmerkung (zu den "Channel-Devices"): alexa-fhem muss die "setter" erkennen können und auch die Zustände (passende Readings). genericDeviceType kann helfen, ebenso homebridgeMapping, falls es nicht autom. erkannt wird.

Bei mehrkanaligen Devices kann halt sein, dass zum set Device on/off noch irgendwo ein Kanal genannt werden muss, dann geht das ohne homebridgeMapping verm. nicht...
Gleiches gilt für den Zustand. Wenn der nicht an "den üblichen Readings" abgelesen werden kann, dann entweder mittels userReadings o.ä. "umbauen" oder ebenfalls homebridgeMapping. Evtl. kann bei mehrkanaligen Devices auch readingsProxy helfen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

TomLee

Hallo,

naive Frage in die Runde.

Sollte doch möglich sein über MQTT GENERIC BRIDGE zur Kommunikation der beiden Installationen, iVm.  einer dauerhaften Verbindung der beiden Netzwerke (bspw. über VPN), oder ?

Gruß

Thomas

MadMax-FHEM

#8
Wenn vpn/gemeinsames Netz, dann ginge auch direkt alexa-fhem mit 2ter Connection...
Siehe: https://forum.fhem.de/index.php?topic=137582.msg1307929#msg1307929

Es hat aber geheißen (zumindest ich so verstanden): getrennte Netze...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

TomLee

Wenn nicht über VPN dann über einen Server im Internet, sowas wie HiveMqtt oder Amazon AWS Cloud MQTT. Ich weiß es nicht (mehr), vermute nur, das es irgendwie so gehen könnte.

hetterich

Hallo miteinander,

Im WoMo habe ich eine Fritzbox and der ein MobileRouter per USB verbunden ist.
Rpi mit Fhem hängt an der Fritzbox.
In den Router stecke ich immer eine Daten-Sim die ich pro Stück in HR für 11€ kaufe. (10 Tage unbegrenzt)
Ich möchte das schon gerne ohne VPN nutzen. Die Datenverbindung ins Heimnetz ist nicht immer stabil.
Momentan geht es ja noch, da ich im WoMo noch nichts geändert habe und die HA-Bridge ja noch läuft.
Ich wäre umgestiegen, wenn das mit einem Skill funktioniert hätte/würde, da der Fhem-Connector einfacher und schneller ist.

@Joachim
Ich habe gerade mal eine der Problem-Thermostate aus dem Fhem entfernt und wollte es neu anlegen.
Ging nicht ;D
Ich hatte den Rpi neu aufgesetzt und danach mein Fhem Backup wieder eingespielt.
Danach ein Update auf Fhem gemacht.
Es läuft alles einwandfrei, jedoch scheint auch die HmCCUDEV sich geändert zu haben.
Ein erneutes anlegen des gelöschten Thermostates so wie ich es mir notiert hatte ging nicht.
Früher musste ich mit controldatapoint 4.SET_TEMPERATURE die Channel und viele andere Attribute setzen.

Ich habe jetzt wie vorgeschlagen für dieses Thermostat mal HMCCUCHN verwendet.
Ist jetzt wesentlich einfacher als vorher. UND: Alexa erkennt das Device jetzt

Warum die alten Thermostate mit der alten Konfiguration allerdings noch funktionieren und von 17 Alexa nur 3 nicht erkannt hat?
Keine Ahnung. Vor allem, weil sich viele Attribute geändert haben
Ich werd morgen mal alle umbauen und aktualisieren, sonst geht mein structure nicht mehr.

Danach sind die Schalter dran. Eventuell funktioniert dann auch der 2-Fach ohne Dummy
Da ist in den jetzigen Attr. noch der controlchannel & statechannel 1 oder 2 drin.
Funktionieren aber ebenfalls. :o

Das wird bei der Menge an Devices mit Sub-Devices ein wenig dauern, melde mich wenn fertig

Viele Grüße
Peter