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
Eine Frage habe ich noch ...
Gibt es ein "best practice", um das Script mit wenig Aufwand auf seine aktuelle Version zu bringen? Ich würde gerne die cartThermo2 nutzen. Einfach den Bereich " DE: Ab hier keine Konfiguration mehr" austauschen? -
RE: SONOFF NSPanel mit Lovelace UI
AH!
Ich glaube ich habs!
Ich lausche den MQTT Events in einem anderen Script:on({ id: 'mqtt.0.NSPANEL_REY.tele.RESULT', change: 'any' }, (obj) => {
const val = obj?.state?.val;
if (typeof val !== 'string' || !val.includes('CustomRecv')) return;try { const payload = JSON.parse(val); const event = payload?.CustomRecv; // === BUTTON 1 === if (event === 'event,button1') { const dp = 'alias.0.NSPanel.wohnzimmer.WledRey.ON'; const current = getState(dp)?.val; const newVal = !current; setState(dp, newVal); if (newVal === true) { setState('wled.0.781c3ca4b32c.seg.0.bri', 128); setState('wled.0.781c3ca4b32c.seg.0.col.0', [255, 255, 255, 0]); setState('wled.0.781c3ca4b32c.seg.0.cct', 50); } } // === BUTTON 2 === else if (event === 'event,button2') { const dp = 'nanoleaf-lightpanels.1.LightPanels.state'; const current = getState(dp)?.val; const newVal = !current; setState(dp, newVal); if (newVal === true) { setState('nanoleaf-lightpanels.1.LightPanels.brightness', 100); } } } catch (err) { log('Fehler beim Parsen von CustomRecv: ' + err.message, 'warn'); }
});
-
RE: SONOFF NSPanel mit Lovelace UI
@arteck @ilovegym - danke für die schnelle Antwort!
Hier genau ist meinProblemDummerweise finde ich die Datenpunkte nicht im Script ...
//-------DE: Anfang Einstellungen für Hardware Button, wenn Sie softwareseitig genutzt werden (Rule2) ------------- //-------EN: Start Settings for Hardware Button, if used in software (Rule2) -------------------------------------- // DE: Konfiguration des linken Schalters des NSPanels // EN: Configuration of the left switch of the NSPanel button1: { // DE: Mögliche Werte wenn Rule2 definiert: 'page', 'toggle', 'set' - Wenn nicht definiert --> mode: null // EN: Possible values if Rule2 defined: 'page', 'toggle', 'set' - If not defined --> mode: null mode: null, // DE: Zielpage - Verwendet wenn mode = page // EN: Target page - Used if mode = page page: null, // DE: Zielentity - Verwendet wenn mode = set oder toggle // EN: Target entity - Used if mode = set or toggle entity: null, // DE: Zielwert - Verwendet wenn mode = set // EN: Target value - Used if mode = set setValue: null }, // DE: Konfiguration des rechten Schalters des NSPanels // EN: Configuration of the right switch of the NSPanel button2: { mode: null, page: null, entity: null, setValue: null },
-
RE: SONOFF NSPanel mit Lovelace UI
Hi,
kann mir bitte kurz jemand helfen?Ich habe mein SONOFF Panel so konfiguriert, dass ich mit dem Hadware Buttons mein Licht ein und ausschalten kann. Allerdings finde ich nun nicht mehr, wie ich das konfiguriert habe
Kann mir kurz jemand einen Hinweis geben? Es wird ein WLED Lichtstrip (Button 1) und eine Nanoleaf Leuchte (Button 2 gesteuert). War das irgendwo außerhalb des Scriptes? Sorry, aber ich finde es nicht mehr ... peinlich ...
-
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"
}
}