Das durchreichen eines USB-Gerätes kann bei einem LXC Container problematisch sein.
Probiere es am besten nach dieser Anleitung: link
Ich würde dir aber empfehlen (wie opossum auch schon geschrieben hat) die deconz Software in einer eigenen VM zu installieren (und dort den Stick durchzureichen, geht direkt
über die Proxmox GUI). So kannst du IOBroker auch weiter als LXC-Container laufen lassen.
Im deconz-Adapter einfach die IP der neuen VM eintragen.
Du schreibst im Changelog zur 1.7.2:
Option hinzugefügt, um die Kompatibilität mit älteren Switches zu verbessern. Ich bin nicht sicher, ob es sinnvoll ist, das global zu machen, daher erst mal als (standardmäßig ausgeschaltete) Option. Wenn diese aktiviert ist, wird targetValue bei Binary und Multilevel Switches immer mit currentValue überschrieben
Wie wirkt sich das auf den eingeführten q (quality) Parameter aus? Triggert dieser in dem Fall das der targetValue überschrieben wird?
Ich habe meine Skripte seit dem von change auf update (zurück) umgebaut und prüfe auf den q-Parameter was wirklich gut funktioniert.
Kann es sein, dass du noch die Conbee/Phoscon Software installiert hast? Diese kann den
Port auch blockieren. Falls du diese aktuell nicht benötigst am besten mal deinstallieren.
Oder zumindest prüfen, ob du in der Phoscon Software den Port wechseln kannst...
Würde am besten aber erst mal deinstallieren. Falls noch benötigt vorher noch die Einstellungen sichern/exportieren...
Nachtrag:
Falls du den Zigbee-Adapter benutzt evtl. auch hier mal die Porteinstellungen prüfen, ob dieser nicht den gleichen Port wie der
Z-Wave-Adapter nutzt.
Da mein WAF stetig niedriger wird mit den teilweise nicht funktionierenden Nodes: Ich würde dann die problematischen Nodes mit dem alten Zwave-Adapter schalten und den Rest mit dem neuen Zwave2.
Kann ich beide Adapter parallel laufen lassen oder kommen die sich in die Quere?
Das klappt vermutlich nicht, da immer nur ein Adapter auf den Port/ZWave-Stick zugreifen kann.
Wie AlCalzone bereits schrieb sind Alias-Werte der richtige Weg.
Du kannst hier unterschiedliche Read/Write Werte setzen, somit brauchst du keine speziellen Widgets/Schalter in der Vis und
der aktuelle Status (z.B. einer Lampe) wird auch korrekt angezeigt.
Das ja geil, wusste ich nicht, danke!
Hier mal ein Beispiel für ein Alias mit zusätzlichem Mapping von 0->false und 99-> true (kannst du aber auch weg lassen):
Ja auch cool. Damit muss ich mich auch mal beschäftigen...
Zum Beispiel hab ich das "Problem", dass ich den "Prozentwert"(Dimmer) eines Rolladen bei Google home nutze um ihn komplett rauf zu fahren, wie etwa:
"Hey Google, dimme Rolladen auf 0 Prozent" - nicht sehr logisch...
Aber manchmal möchte ich den Rolladen auch nur auf 20% stellen, daher nur der eine Alias für beides.
Wie kann ich das mit nem zusätzlichen Mapping in einem Alias einrichten? Wohl kaum so oder?
"states": {
"hoch": "0",
"runter": "99"},
Glaub aber nicht, dass das so einfach geht, da ich den Trait bei Google als "Brightness" angelegt hab um die Prozentwerte durchgeben zu können.
So sieht der Alias aus:
Für meine Rolladen nutze ich auch die Brightness-Werte per alexa. Nutze hier zu aber den NodeRed-Adapter.
Klappt soweit gut. Du bräuchtest doch nur einen Alias anlegen, der die Int-Werte durchreicht (oder habe ich dich falsch verstanden?
Beispiel:
Wie AlCalzone bereits schrieb sind Alias-Werte der richtige Weg.
Du kannst hier unterschiedliche Read/Write Werte setzen, somit brauchst du keine speziellen Widgets/Schalter in der Vis und
der aktuelle Status (z.B. einer Lampe) wird auch korrekt angezeigt.
Hier mal ein Beispiel für ein Alias mit zusätzlichem Mapping von 0->false und 99-> true (kannst du aber auch weg lassen):
ich habe ein paar Scripte die zeitgesteuert z.B. die Rollos steuern.
Beispiel:
function Wert_Stunden(x) {
return x.slice(0, 2);
}
function Wert_Minuten(x) {
return x.slice(3, 5);
}
function unSchedule(schedule) {
if (schedule) {
clearSchedule(schedule);
schedule = null;
}
}
on({id: new RegExp('javascript\\.0\\.Rollo\\.Rollo_Schlafzimmer_Timer1_Aktiv' + "|" + 'javascript\\.0\\.Rollo\\.Rollo_Schlafzimmer_Timer1_Modus' + "|" + 'javascript\\.0\\.Rollo\\.Rollo_Schlafzimmer_Timer1_Uhrzeit' + "|" + 'javascript\\.0\\.System\\.Script_Restarter'), change: "ne"}, function (obj) {
if (getState("javascript.0.Rollo.Rollo_Schlafzimmer_Timer1_Aktiv").val == 1) {
var uhrzeit = getState("javascript.0.Rollo.Rollo_Schlafzimmer_Timer1_Uhrzeit").val;
unSchedule(Cron1_Rollo_Schlafzimmer);
Cron1_Rollo_Schlafzimmer = schedule(Wert_Minuten(uhrzeit) + ' ' + Wert_Stunden(uhrzeit) + ' * * *', function () {
if (getState("javascript.0.Rollo.Rollo_Schlafzimmer_Timer1_Modus").val == 'rauf') {
setState("zwave2.0.Node_011.Multilevel_Switch.targetValue", 0);
} else if (getState("javascript.0.Rollo.Rollo_Schlafzimmer_Timer1_Modus").val == 'runter') {
setState("zwave2.0.Node_011.Multilevel_Switch.targetValue", 99);
}
});
} else {
unSchedule(Cron1_Rollo_Schlafzimmer);
}
});
Die Trigger sind Datenpunkte die per VIS gesetzt werden.
Das Problem ist, dass das Skript nach einem ioBroker oder Javascript-Adapter Neustart nicht mehr getriggert wird
(erst wieder wenn ich einen der Trigger per VIS verändere).
Als Behelfslösung habe ich mir einen kleines Miniscript erzeugt, dass ich nach Neustart einmal ausführe (Trigger: Script_Restarter).
Dieses Mini-Script habe ich überall in den problematischen Scripten als Trigger hinzugefügt. Manchmal vergesse ich aber nach einem
Neustart das Script zu starten. Dann funktioniert natürlich "nichts"...
Bin ich der einzige der solche Probleme hat? Hat jemand eine elegantere Lösung für das Problem?
Ich bin auch offen für allgemeine Script-Opimierungen.
Ich habe mir für alle Z-Wave Geräte jeweils ein Alias angelegt (Read-Value: currentValue / Write-Value: targetValue).
Nach ioBroker oder ZWave-Adapter Neustart habe ich ein Skript durchlaufen lassen, das mir die Alias-Werte einmal initial wieder
befüllt (targetValue -> currentValue).
Hat soweit gut funktioniert. Ich habe aktuell leider noch nicht getestet, ob die Werte jetzt initial gefüllt werden. Wenn ja könnte ich
mein Skript raus werfen.
Im Moment bin ich ganz gut beschäftigt Steuerungen mit dem D1-Mini zu realisieren
-> Bewegungsmelder
-> Lichtsteuerungen mit den W2812b LED-Strips
Ich bin echt fasziniert was mit den D1-Minis so alles geht...
Du schreibst im Changelog zur 1.7.2:
Option hinzugefügt, um die Kompatibilität mit älteren Switches zu verbessern. Ich bin nicht sicher, ob es sinnvoll ist, das global zu machen, daher erst mal als (standardmäßig ausgeschaltete) Option. Wenn diese aktiviert ist, wird targetValue bei Binary und Multilevel Switches immer mit currentValue überschrieben
Wie wirkt sich das auf den eingeführten q (quality) Parameter aus? Triggert dieser in dem Fall das der targetValue überschrieben wird?
Ich habe meine Skripte seit dem von change auf update (zurück) umgebaut und prüfe auf den q-Parameter was wirklich gut funktioniert.