NEWS
[gelöst] Neeo-Adapter mit Proxmox
-
@liv-in-sky sagte in Bestehender Adapter umschreiben:
war dein raspi, als es funktioniert hatte auf dem alten js-controller oder war da schon upgedatet?
Ich habe es diese Nacht ausprobiert, Admin und js-controller sind auf dem neusten Stand.
-
@liv-in-sky sagte in Bestehender Adapter umschreiben:
du könntest auch mal in der instanz auf debug schalten und mal nachsehen, wo die instanz beim starten hängen bleibtStelle den Log mal hier rein, vielleicht kann man was erkennen
-
hier wird auch nach einer brainIP gefragt https://github.com/NEEOInc/neeo-sdk/issues/170
ist zwar docker - könnte aber auch für proxmox zutreffen
auch schon alles alt - wird im adapter genutzt - daher ist es nicht möglich, eine feste ip zu setzen - diese api sucht nache einem gerät im netz
also mit umschreiben wird schlecht gehen
evtl mußt du den alten raspi als slave einrichten und die instanz auf diesem slave nutzen
-
was du mal testen könntest - du brauchst eine console des proxmox servers - nicht der iobroker vm - danach ein neustart des proxmox servers - ist nur zum ausprobieren - keine ahnung ob das irgendwie hilft
geh ins verzeichnis :
cd /sys/devices/virtual/net/$IFACE/bridge/
dann öffne
nano multicast_querier
und schreibe eine 1 rein statt der 0
das selbe mit
/sys/class/net/$IFACE/bridge/multicast_snooping
dieser datei - nur das du darin die 1 mit einer 0 ersetzt
$IFACE ist der name deiner network bridge in proxmox bei mir z.b. "vmbr0 "
-
@glasfaser sagte in Bestehender Adapter umschreiben:
Stelle den Log mal hier rein
2021-10-04 22:13:29.738 - info: host.ioBroker "system.adapter.neeo.0" enabled
2021-10-04 22:13:29.852 - info: host.ioBroker instance system.adapter.neeo.0 started with pid 32357
2021-10-04 22:13:30.349 - debug: neeo.0 (32357) Redis Objects: Use Redis connection: 127.0.0.1:9001
2021-10-04 22:13:30.358 - debug: neeo.0 (32357) Objects client ready ... initialize now
2021-10-04 22:13:30.359 - debug: neeo.0 (32357) Objects create System PubSub Client
2021-10-04 22:13:30.359 - debug: neeo.0 (32357) Objects create User PubSub Client
2021-10-04 22:13:30.359 - debug: neeo.0 (32357) Objects client initialize lua scripts
2021-10-04 22:13:30.364 - debug: neeo.0 (32357) Objects connected to redis: 127.0.0.1:9001
2021-10-04 22:13:30.366 - debug: neeo.0 (32357) objectDB connected
2021-10-04 22:13:30.367 - debug: neeo.0 (32357) Redis States: Use Redis connection: 127.0.0.1:9000
2021-10-04 22:13:30.370 - debug: neeo.0 (32357) States create System PubSub Client
2021-10-04 22:13:30.371 - debug: neeo.0 (32357) States create User PubSub Client
2021-10-04 22:13:30.375 - debug: neeo.0 (32357) States connected to redis: 127.0.0.1:9000
2021-10-04 22:13:30.375 - debug: neeo.0 (32357) statesDB connected
2021-10-04 22:13:30.429 - info: neeo.0 (32357) starting. Version 1.0.0 in /opt/iobroker/node_modules/iobroker.neeo, node: v12.22.6, js-controller: 3.3.18
2021-10-04 22:13:30.585 - error: neeo.0 (32357) neeo initialization failedError: getaddrinfo ENOTFOUND neeo-2372dc31.local -
@liv-in-sky sagte in Bestehender Adapter umschreiben:
was du mal testen könntest - du brauchst eine console des proxmox servers - nicht der iobroker vm - danach ein neustart des proxmox servers - ist nur zum ausprobieren - keine ahnung ob das irgendwie hilft
geh ins verzeichnis :
cd /sys/devices/virtual/net/$IFACE/bridge/dann öffne
nano multicast_querierund schreibe eine 1 rein statt der 0
das selbe mit
/sys/class/net/$IFACE/bridge/multicast_snoopingdieser datei - nur das du darin die 1 mit einer 0 ersetzt
$IFACE ist der name deiner network bridge in proxmox bei mir z.b. "vmbr0 "Hat leider nichts geändert.
-
dann fällt mir leider nicht mehr viel ein
-
@liv-in-sky
Wo kann ich den Promiscous-Mode in Proxmox einstellen? -
@kusi sagte in Bestehender Adapter umschreiben:
Promiscous-Mode in Proxmox
habe nur das gefunden - https://forum.proxmox.com/threads/network-sensor-monitor-session-promiscuous.37845/
musst du mal google fragen - hatte nie wirklich damit zu tun
irgendwo stand auch, das dieser mode automatisch eingestellt ist
-
vielleicht könntest du deinen raspi als slave verwenden um den adapter einsetzen zu können ?
-
@liv-in-sky Den Raspi habe ich bereits verkauft, weil er aber noch bei mir Zuhause ist für die Konfiguration, konnte ich den Adapter testen. Einen neuen zu kaufen nur für diesen Adapter ist es mir nicht wert.
-
war nur eine idee - da diese "fernbedienung" ja doch etwas teurer ist, dachte ich , es wäre evtl sinnvoll
ich habe 2 raspi3 und einen banana pi rumliegen - was bekommt man für einen gebrauchten rasp 3 ? oder hattest du einen 4er ?
konntest du mit dem Promiscous etwas erreichen ?
wir könne auch immer noch gemeinsam auf dein proxmox system schauen - wobei uns wohl die ideen langsam ausgehen
-
@liv-in-sky Ich hatte einen Raspi 4 mit 4 GB.
Promiscous Mode habe ich nicht gefunden.
Die Neeo war in der Tat nicht günstig, zumal ich mehrere habe. Da vermutlich aber mitte nächstes Jahr die YIO-Remote getestet wird, will ich da auch nicht ein riesen Fass aufmachen.
Wenn es nicht geht, dann geht es halt eben nicht.
Ich habe vorgestern noch den Nuc komplett neu aufgesetzt, da die Beta von Proxmox installiert war. Nun ist die normale Version von Proxmox jungfräulich. Die ioBroker VM ist auch neu erstellt, ioBroker jedoch wiederhergestellt.
Aber ggfs komme ich auf dich zu, damit du mal auf mein Proxmox schauen kannst.Mittlerweile hätte ich aber sämtliche http-Befehle zusammen, um den Adapter mit Blockly nachzubauen.
-
@homoran Wenn ich einen URL Request mache, erhalte ich folgende Antwort:
[{"type":"launch","detail":{"devicename":"Swisscom%20TV%20Wohnzimmer","roomname":"Wohnzimmer","model":"TV%202.0%20UHD%20(Additional%20Hardware%20necessary)","manufacturer":"Swisscom","devicetype":"DVB"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407932585577545728/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407932585611100160/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407932585577545728/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6407932336662380544","powerKey":"6407932585309110272"},{"type":"launch","detail":{"devicename":"Verst%C3%A4rker","roomname":"Wohnzimmer","model":"STR-DN1080%20AVR","manufacturer":"Sony","devicetype":"AVRECEIVER"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407933448152940544/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407933448161329152/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407933448152940544/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6407933299204816896","powerKey":"6407933448090025984"},{"type":"launch","detail":{"devicename":"Xbox%20One%20X","roomname":"Wohnzimmer","model":"Xbox%20One%20X","manufacturer":"Microsoft","devicetype":"GAMECONSOLE"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407933818937802752/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407933818950385664/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407933818937802752/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6407933595926659072","powerKey":"6407933818862305280"},{"type":"launch","detail":{"devicename":"Wii","roomname":"Wohnzimmer","model":"Wii","manufacturer":"Nintendo","devicetype":"GAMECONSOLE"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407933818958774272/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407933818967162880/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6407933818958774272/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6407933781746909184","powerKey":"6407933818874888192"},{"type":"launch","detail":{"devicename":"Nvidia%20Shield","roomname":"Wohnzimmer","model":"ioBroker%20Shield","manufacturer":"NEEO","devicetype":"MEDIAPLAYER"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6833739815607861248/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6833739815616249856/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6407914396776923136/recipes/6833739815607861248/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6833739810096545792","powerKey":"6833739815536558080"},{"type":"launch","detail":{"devicename":"Ambilight%20Schlafzimmer","roomname":"Schlafzimmer","model":"Hue","manufacturer":"Philips","devicetype":"LIGHT"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6503790620979494912/recipes/6518913464730124288/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6503790620979494912/recipes/6518913464734318592/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6503790620979494912/recipes/6518913464730124288/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6734979547038482432","powerKey":"6518913464629460992"},{"type":"launch","detail":{"devicename":"TV%20Schlafzimmer","roomname":"Schlafzimmer","model":"Sony%20TV%20Schlafzimmer","manufacturer":"Sony","devicetype":"TV"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6503790620979494912/recipes/6856304878453522432/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6503790620979494912/recipes/6856304878470299648/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6503790620979494912/recipes/6856304878453522432/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6856304596109754368","powerKey":"6856304878285750272"},{"type":"launch","detail":{"devicename":"Swisscom%20TV%20Schlafzimmer","roomname":"Schlafzimmer","model":"DVB%20Swisscom%20TV%20Schlafzimmer","manufacturer":"Swisscom","devicetype":"DVB"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6503790620979494912/recipes/6856316544222232576/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6503790620979494912/recipes/6856316544234815488/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6503790620979494912/recipes/6856316544222232576/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6856316536823480320","powerKey":"6856316544163512320"},{"type":"launch","detail":{"devicename":"Sonos%20Kusi","roomname":"Badezimmer","model":"PLAY%3A1","manufacturer":"Sonos","devicetype":"SONOS"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6677596736619282432/recipes/6788458674093293568/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6677596736619282432/recipes/6788458674105876480/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6677596736619282432/recipes/6788458674093293568/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6788458510595129344","powerKey":"6788458673942298624"},{"type":"launch","detail":{"devicename":"Sonos%20Feli","roomname":"Badezimmer","model":"PLAY%3A1","manufacturer":"Sonos","devicetype":"SONOS"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6677596736619282432/recipes/6788458674114265088/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6677596736619282432/recipes/6788458674118459392/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6677596736619282432/recipes/6788458674114265088/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6788458668535840768","powerKey":"6788458673950687232"},{"type":"launch","detail":{"devicename":"ioBroker","roomname":"SmartHome","model":"HDMISWITCH","manufacturer":"DUMMY","devicetype":"HDMISWITCH"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6781022373706465280/recipes/6781140413840359424/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6781022373706465280/recipes/6781140413848748032/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6781022373706465280/recipes/6781140413840359424/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6781140315068694528","powerKey":"6781140413701947392"},{"type":"launch","detail":{"devicename":"Klimaanlage","roomname":"SmartHome","model":"CLIMA","manufacturer":"DUMMY","devicetype":"CLIMA"},"url":{"identify":"http://192.168.1.104:3000/v1/systeminfo/identbrain","setPowerOn":"http://192.168.1.104:3000/v1/projects/home/rooms/6781022373706465280/recipes/6831595072144801792/execute","setPowerOff":"http://192.168.1.104:3000/v1/projects/home/rooms/6781022373706465280/recipes/6831595072153190400/execute","getPowerState":"http://192.168.1.104:3000/v1/projects/home/rooms/6781022373706465280/recipes/6831595072144801792/isactive"},"isCustom":false,"isPoweredOn":false,"uid":"6831595058282627072","powerKey":"6831595071981223936"}]
Bin ich richtig in der Annahme dass dies ein JSON ist?
Wie kann ich nun den "Devicename" und "isPoweredOn" auslesen?Mit folgendem Blockly erhalte ich die Antwort "undefined".
Ein Entfernen der eckigen Klammern am Anfang und Ende bringt den Fehler
00:07:55.818 error javascript.0 (437) script.js.Test_Adapter.Neeo: Cannot parse "{"type":"launch","detail":{"de"SyntaxError: Unexpected token , in JSON at position 737
-
geht nicht so einfach- das ist ein array mit allen devices - sieht so aus:
hier ein beispiel zum auslesen:
block zum importieren:
-
- request gibt dir einen string im json-format
- muss in ein json-object verwandelt werden, um mit punkt-notation arbeiten zu können
- die eckigen klammer zeigen, das es ein array ist mit json-object-einträgen
- der devicename ist in url-lesbar - der 2te debug-blog verwandelt über die function den url-code in einen lesbaren code
-
@liv-in-sky Danke für deine Arbeit. Was du genau meinst ist für mich noch unbekannt, aber es funktioniert. Darauf kann ich aufbauen, vielen Dank.
Warum "decodeURI"? URL hätte ich ja noch verstehen können, aber URI?
-
@liv-in-sky
Notepad und JSON-Plugin installiert, andere URL benutzt, und nun sehe ich noch viel mehr.
Danke dir für deinen Denkanstoss mit dem Notepad -
ich nehme an, der adapter wird ja auch alle x-sekunden abgefragt haben
also fragst du immer wieder, welches gerät eingeschalten ist und dann fragst du diese geräte ab. vielleicht kannst du noch durch eingerenzung der tagesstunden den traffic reduzieren.
evtl kannst du einen anderen trigger nutzen. wenn dieser an ist wird mehr abgefragt, wenn er aus ist, ist das interval geringer bei der abfrage
wenn es nur zur anzeige dient, brauchst du ja nicht unbedingt alle 10 sek - wenn du etwas steuern willst , dann schon - je nachdem, was für netzwerk-kompunenten du hast und wie das netzwerk ausgelastet ist
ich würde mir erstmal keine großen gedanken machen und einfach mal loslegen - der adapter auf dem raspi wird ja dann auch abgeschalten
-
ohne den json-viewer geht da nicht viel - habe extra das ganze bild gepostet, damit du das programm siehst hat wohl geklappt