XML-RPC statt BIN-RPC brachte die Lösung. Danke für die Screenshots!
NEWS
Best posts made by drloksoft
-
RE: Homematic CCU3 hm-rpc bleibt gelb
-
RE: iobroker startet nicht nach hm.rega update
@homoran
Mit meinem normalen User bekam ich keinen Pfad angezeigt, da er keine bash zugewiesen hatte.Für alle, die ein ähnliches Szenario haben, kann man einfach mittels kommando
bash
als eben dieser user diesem User eine bash geben. Um das Ganze dauerhaft einzustellen, hilft folgender commandsudo /usr/sbin/usermod -s /bin/bash USERNAME
Wobei USERNAME der name des benutzers sein soll. Der User sollte auch in der Lage sein, sudo nutzen zu dürfen. Wenn dem nicht der fall ist, kann der command entweder als root ausgeführt werden, oder root gibt dem user mit dem command
adduser USERNAME sudo
die Rechte, um sudo nutzen zu dürfen.
Nach einem re-login, sieht es dann der prompt aus:
drloksoft@infrarot:/usr$
-
RE: SONOFF NSPanel mit Lovelace UI
@armilar perfekt! Ich setze mich nachher daran!
-
RE: SONOFF NSPanel mit Lovelace UI
@Armilar @TT-Tom ... wieder ne Männergripp-Nacht...
Verstehe ich denn die Konfiguration richtig?
"items": [{ id: "alias.0.TestKlimaVirtual", minValue: 50, maxValue: 250, stepValue: 5, //iconArray: ['power-standby','air-conditioner','snowflake','fire','alpha-e-circle-outline','fan','water-percent','swap-vertical-bold'], popupThermoMode1: ['Vertical Swing','Highest','High','Low','Lowest'], popupThermoMode2: ['Quiet','low','medium','high','auto'], popUpThermoName: ["Swing Mode", 'Fan Mode'], setThermoAlias: ['POPUPKLIMA_MODE_1','POPUP_KLIMA_MODE_2'], icon: 'fan', }]
Annahme:
popupThermoMode1 wird durch das setting "setThermoAlias" auf POPUPKLIMA_MODE_1 gelenkt, richtig?
Angezeigt bekomme ich alles vermeintlich richtig im Panel und kann auch das Objekt von POPUPKLIMA_MODE_1 mit den Werten füllen, die in popupThermoMode1 angezeigt wrden. Toll!Wenn ich ins Popup Menü gehe zeigt der Log:
javascript.0 12:58:40.918 warn at GenerateDetailPage (script.js.NSPanel.NSPanelWohnzimmer:10304:29) javascript.0 12:58:40.918 warn at HandleMessage (script.js.NSPanel.NSPanelWohnzimmer:4701:45) javascript.0 12:58:40.918 warn at script.js.NSPanel.NSPanelWohnzimmer:4429:21 javascript.0 12:58:40.918 warn at step (script.js.NSPanel.NSPanelWohnzimmer:33:23) javascript.0 12:58:40.918 warn at Object.next (script.js.NSPanel.NSPanelWohnzimmer:14:53) javascript.0 12:58:40.918 warn at script.js.NSPanel.NSPanelWohnzimmer:8:71 javascript.0 12:58:40.918 warn at __awaiter (script.js.NSPanel.NSPanelWohnzimmer:4:12) javascript.0 12:58:40.918 info script.js.NSPanel.NSPanelWohnzimmer: GenerateDetailPage -> payload: [{"payload":"entityUpdateDetail~alias.0.NSPanel.wohnzimmer.AirConTest~~11487~Swing Mode~modus1~Lowest~Vertical Swing?Highest?High?Low?Lowest~Fan Mode~modus2~null~Quiet?low?medium?high?auto~~~~~"}] javascript.0 12:58:40.918 info script.js.NSPanel.NSPanelWohnzimmer: function SendToPanel payload: entityUpdateDetail~alias.0.NSPanel.wohnzimmer.AirConTest~~11487~Swing Mode~modus1~Lowest~Vertical Swing?Highest?High?Low?Lowest~Fan Mode~modus2~null~Quiet?low?medium?high?auto~~~~~
Wenn ich den Swing Mode ändere (also PopupKlima_Mode_1) kommt im Log:
javascript.0 12:59:40.610 info script.js.NSPanel.NSPanelWohnzimmer: HandleButtonEvent übergebene Werte event - buttonPress2 - alias.0.NSPanel.wohnzimmer.AirConTest - mode-modus1 - 1 - PageId: 0 javascript.0 12:59:40.612 info script.js.NSPanel.NSPanelWohnzimmer: HandleButtonEvent buttonAction: mode-modus1 javascript.0 12:59:40.612 info script.js.NSPanel.NSPanelWohnzimmer: findPageItem -> pageItem {"id":"alias.0.NSPanel.wohnzimmer.AirConTest","minValue":50,"maxValue":250,"stepValue":5,"popupThermoMode1":["Vertical Swing","Highest","High","Low","Lowest"],"popupThermoMode2":["Quiet","low","medium","high","auto"],"popUpThermoName":["Swing Mode","Fan Mode"],"setThermoAlias":["POPUPKLIMA_MODE_1","POPUP_KLIMA_MODE_2"],"icon":"fan"} javascript.0 12:59:40.612 info script.js.NSPanel.NSPanelWohnzimmer: HandleMessage -> buttonPress2 event - buttonPress2 - alias.0.NSPanel.wohnzimmer.AirConTest - mode-modus1 - 1 javascript.0 12:59:40.665 info script.js.NSPanel.NSPanelWohnzimmer: GenerateDetailPage Übergabe Type: popupThermo - optional: undefined - pageItem.id: alias.0.NSPanel.wohnzimmer.AirConTest javascript.0 12:59:40.666 warn at GenerateDetailPage (script.js.NSPanel.NSPanelWohnzimmer:10304:29) javascript.0 12:59:40.666 warn at Object.<anonymous> (script.js.NSPanel.NSPanelWohnzimmer:5869:25) javascript.0 12:59:40.667 info script.js.NSPanel.NSPanelWohnzimmer: GenerateDetailPage -> payload: [{"payload":"entityUpdateDetail~alias.0.NSPanel.wohnzimmer.AirConTest~~11487~Swing Mode~modus1~Highest~Vertical Swing?Highest?High?Low?Lowest~Fan Mode~modus2~null~Quiet?low?medium?high?auto~~~~~"}] javascript.0 12:59:40.667 info script.js.NSPanel.NSPanelWohnzimmer: function SendToPanel payload: entityUpdateDetail~alias.0.NSPanel.wohnzimmer.AirConTest~~11487~Swing Mode~modus1~Highest~Vertical Swing?Highest?High?Low?Lowest~Fan Mode~modus2~null~Quiet?low?medium?high?auto~~~~~
Wenn ich am Fan mode (also popup2) etwas ändern möchte, erhalte ich:
javascript.0 13:01:00.000 info script.js.NSPanel.NSPanelWohnzimmer: function SendToPanel val-payload: time~13:00 javascript.0 13:01:02.716 info script.js.NSPanel.NSPanelWohnzimmer: HandleButtonEvent übergebene Werte event - buttonPress2 - alias.0.NSPanel.wohnzimmer.AirConTest - mode-modus2 - 2 - PageId: 0 javascript.0 13:01:02.716 info script.js.NSPanel.NSPanelWohnzimmer: HandleButtonEvent buttonAction: mode-modus2 javascript.0 13:01:02.716 info script.js.NSPanel.NSPanelWohnzimmer: findPageItem -> pageItem {"id":"alias.0.NSPanel.wohnzimmer.AirConTest","minValue":50,"maxValue":250,"stepValue":5,"popupThermoMode1":["Vertical Swing","Highest","High","Low","Lowest"],"popupThermoMode2":["Quiet","low","medium","high","auto"],"popUpThermoName":["Swing Mode","Fan Mode"],"setThermoAlias":["POPUPKLIMA_MODE_1","POPUP_KLIMA_MODE_2"],"icon":"fan"} javascript.0 13:01:02.716 info script.js.NSPanel.NSPanelWohnzimmer: HandleMessage -> buttonPress2 event - buttonPress2 - alias.0.NSPanel.wohnzimmer.AirConTest - mode-modus2 - 2
Card Config:
{ "type": "cardThermo", "heading": "Test Klimaanlage", "items": [{ id: "alias.0.NSPanel.wohnzimmer.AirConTest", minValue: 50, maxValue: 250, stepValue: 5, popupThermoMode1: ['Vertical Swing','Highest','High','Low','Lowest'], popupThermoMode2: ['Quiet','low','medium','high','auto'], popUpThermoName: ["Swing Mode", 'Fan Mode'], setThermoAlias: ['POPUPKLIMA_MODE_1','POPUP_KLIMA_MODE_2'], icon: 'fan', }] };
Popup_klima_1 object data:
{ "common": { "name": "popupKlima_Mode_1", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": 0, "states": { "0": "Vertical Swing", "1": "Highest", "2": "High", "3": "Low", "4": "Lowest" } }, "type": "state", "native": {}, "_id": "0_userdata.0.KlimaWohnzimmer.popupKlima_Mode_1", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1729532163304 }
Popup_klima_2 object Data:
{ "common": { "name": "popupKlima_Mode_2", "desc": "Manually created", "role": "state", "type": "string", "read": true, "write": true, "def": 0, "states": { "0": "Quiet", "1": "low", "2": "medium", "3": "high", "4": "auto" } }, "type": "state", "native": {}, "_id": "0_userdata.0.KlimaWohnzimmer.popupKlima_Mode_2", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1729595400017 }
Zumindest kann ich schon mal den Swing mode setzen.
Latest posts made by drloksoft
-
RE: SONOFF NSPanel mit Lovelace UI
@tt-tom @peterfido
ich habe die auto-updates nun auch de-aktiviert, da sonst immer auf v15 updedated wird und dann eben die Kommunikation nicht mher stimmt. Sofern mal irgendwann v15 funktioniert, schalte ich das auto-update wieder ein. Mit 14.5 funktioniert alles. -
RE: SONOFF NSPanel mit Lovelace UI
Selbst gelöst - das Display hat ein Update auf Tasmota 15 gemacht und damit sendet es nur unsinn ...
Nun habe ich ein neues Problem, dann ich habe heute die TS-Datei aus dem Github genommen, um meine drei panels zu aktualisieren. Dummerwiese habe ich einen Copy & Paste Fehler begangen, denn ich habe zwar:
```
const NSPanelReceiveTopic: string = 'mqtt.0.SmartHome.tele.NSPANEL_1.RESULT';
const NSPanelSendTopic: string = 'mqtt.0.SmartHome.cmnd.NSPANEL_1.CustomSend';auf ``` const NSPanelReceiveTopic: string = 'mqtt.0.SmartHome.tele.NSPANEL_2.RESULT'; const NSPanelSendTopic: string = 'mqtt.0.SmartHome.cmnd.NSPANEL_2.CustomSend';
geändert, aber nicht
const NSPanel_Path = '0_userdata.0.NSPanel.1.'; auf const NSPanel_Path = '0_userdata.0.NSPanel.2.';
angepasst, sondern 1 gelassen.
Nach dem letzten Reboot melden sich beide panels nicht mehr an und warten auf ihre Konfiguration.
Im Log des MQTT Adapters sehe ich:stateChange mqtt.0.SmartHome.tele.NSPANEL_2.RESULT: {"val":" {\"nextion\":\"bytes('1800040004008C08000888000400040000800028000400000000040000000000...')\"}","ack":true,"ts":1750012076334,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1750012076334}
Selbst gelöst - das Display hat ein Update auf Tasmota 15 gemacht und damit sendet es nur unsinn ...
Lösung: Downgrade des Tasmota auf 14.5 -
RE: SONOFF NSPanel mit Lovelace UI
@peterfido said in SONOFF NSPanel mit Lovelace UI:
den Geräte-Adapter nutzen. Wenn diese Probleme macht, wie die Anzeige von HUE als Pflichfeld, obwohl man RGB ausgewählt hat, dann die Seite im Browser mit STRG + F5 neu laden.
Danke für's aufwecken! Ja, klar!
-
RE: SONOFF NSPanel mit Lovelace UI
Hi Leute,
ich verzweifele ... Ich habe mir Lichtcontroller für meine LED Stripes mit dem WLED Projekt erstellt. Grundsätzlich funktioniert Das alles ok. Es ist zwar ziemlich blöde, dass ich nicht direkt Kelvin Angaben per MQTT oder WLED Adapter senden kann, aber das lassen wir mal kurz zur Seite gestellt, da ich das ja mit JavaScript umrechnen und in andere Datenpunkte setzen kann. Nun möchte ich zum einen einen einfachen Lichtschalter bauen (was ich wohl auch hinbekomme) und dann eine Sub Page für Helligkeit und Lichtfarbe erstellen, wie sie hier in einem Screenshot zu sehen ist:
.
Kann mir jemand einen Hinweis gebe, wo wohl beschrieben ist, wie ich diese Cards erstellen kann und welche Datenpunkte dafür notwendig sind? -
RE: Amazon Smart Air Quality Monitor
Falls sich jemand fragt, wie "SonarCloudService" auf die Smart Air Quality Monitore matcht, so steht die Relation in den Object data des Gerätes:
{
"type": "channel",
"common": {
"name": "Smart Air Quality Monitor Raumname",
"role": "channel",
"read": true,
"write": false
},
"native": {
"friendlyDescription": "Amazon Indoor Air Quality Monitor",
"friendlyName": "Luft Bad",
"modelName": "",
"additionalApplianceIds": null,
"object": "AAA_SonarCloudService_123456789012345678901234567890123456789012345678901234567890123456789012345678901234",
"manufacturerName": "Amazon"
},
"from": "system.adapter.alexa2.0",
"user": "system.user.admin",
"ts": 1746199044138,
"_id": "alexa2.0.Smart-Home-Devices.12345678-1234-1234-1234-123456789012",
"acl": {
"object": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}
} -
RE: Amazon Smart Air Quality Monitor
Also, ich habe meine Konfiguration nun so vorgenommen, dass in der Instanz folgende Punkte gesetzt sind:
X use push connection
X synchonize Smart Home Devices
Data update interval (player info …) --> 0
History update interval --> 0
Device Configuration update interval --> 0Script:
// IDs der Smart Air Monitore const airQualityWohnzimmer = "alexa2.0.Smart-Home-Devices.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.#query"; const airQualityRey = "alexa2.0.Smart-Home-Devices.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.#query"; const airQualityReina = "alexa2.0.Smart-Home-Devices.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.#query"; const airQualityBad = "alexa2.0.Smart-Home-Devices.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.#query"; // Funktion, um die Datenpunkte zu pollen function pollAirQuality() { // Setzt alle Datenpunkte auf true setState(airQualityWohnzimmer, true); setState(airQualityRey, true); setState(airQualityReina, true); setState(airQualityBad, true); // Nach 5 Sekunden wieder auf false setzen setTimeout(function() { setState(airQualityWohnzimmer, false); setState(airQualityRey, false); setState(airQualityReina, false); setState(airQualityBad, false); }, 5000); // 5 Sekunden (5000 Millisekunden) } // Polling alle 30 Minuten (1200000 Millisekunden) schedule("*/30 * * * *", function() { pollAirQuality(); }); // Initialer Poll beim Start des Skripts pollAirQuality();
Im Log finde ich alle 30 Minuten:
alexa2.0 2025-05-02 17:00:05.037 warn Smart Home device request blocked for AAA_SonarCloudService_xxxxxx alexa2.0 2025-05-02 17:00:05.036 warn Smart Home device request blocked for AAA_SonarCloudService_xxxxxx alexa2.0 2025-05-02 17:00:05.036 warn Smart Home device request blocked for AAA_SonarCloudService_xxxxxx alexa2.0 2025-05-02 17:00:05.035 warn Smart Home device request blocked for AAA_SonarCloudService_xxxxxx
Dennoch wird der Air Monitor Status ausgelesen. Hab ich irgend eine andere Chance das Ganze weiter zu troubleshooten?
-
RE: Amazon Smart Air Quality Monitor
@matzeit Konntest Du das Problem lösen? Ich habe nun auch das Problem bei einer Abfrage alle 12 Minuten. Geht es mit 15 minuten problemlos?
-
Luftfeuchte mit Amazon Smart Air und Sensibo
Hallo,
ich habe in meiner Wohnung je Raum einen "Amazon Smart Air Quality Monitor" installiert, um die Luftfeuchte im Raum zu messen und abhängig von der Feuchtigkeit einen Luftentfeuchter, bzw Klimaanlage einztu schalten. Mit einem Script frage ich die Amazon Smart Air Quality Monitor Geräte alle 30 Minuten ab und speichere den Wert in einen Datenpunkt, vergleiche den Wert mit den Referenzwerten und starte/stoppe basierend auf den Werten die Luftentfeuchter, bzw die Klimaanlage.
In einem Raum habe ich einen Sensibo Air Pro AC Controller installiert, um meine Klimaanlage ein- und auszuschalten. Da ich in diesem Raum keinen Entfeuchter habe, starte bzw. stoppe ich über den Sensibo Air Pro die Klimaanlage, basierend auf den Werten, die ich vom Amazon Smart Air Quality Monitor bekomme. Der Sensibo gibt mir allerdings über die API ebenfalls Werte zur Luftfeuchtigkeit an.
Wenn ich die Werte des Sensibo mit den Werten des Amazon Gerätes vergleiche, komme ich nahezu immer auf eine differenz von 10%. Der Sensibo zeigt mir in der Regel eine Luftfeuchtigkeit an, die 8-12% über dem Wert der Amazon Geräte liegt.
Hat jemand eine Idee, welchem Gerät ich eher vertrauen kann? Da da Amazon-Gerät nun nicht wirklich preisgünstig war, ging ich davon aus, dass es präziger misst. Allerdings kann ich es auch nicht zu oft abfragen, da dann die Amazon API dicht macht, was ziemlich dämlich ist.
@mercalli12 hab gesehen, dass Du in diesem Thread was zu Amazon Smart Air Quality Monitor gepostet hast, daher verknüpfe ich Dich mal hier.
-
RE: SONOFF NSPanel mit Lovelace UI
@armilar said in SONOFF NSPanel mit Lovelace UI:
"name": "SWING", "role": "switch.mode.swing", "write": true, "type": "number", "states": { "0": "OFF", "1": "ON" }
Au weia. Das klingt nach einem großen Spaß!
Ich habe nun mit einer "sauberen" installation - also Erstellung aller Parameter ohne "Test erstmal gewartet, bis es eine neue Scriptversion gibt und wollte dann alles neu erstellen. Ansonsten werden im Popup ja die Werte übergeben und ich kann diese dann ja auch dank Deines JavaScriptes in die richtigen Werte des HASS schreiben.