David, vielen Dank! Genau so hatte ich mir das vorgestellt und das Brett vor dem Kopf ist weg.
Manchmal ist komisch
David, vielen Dank! Genau so hatte ich mir das vorgestellt und das Brett vor dem Kopf ist weg.
Manchmal ist komisch
Dank deines Gedankenanstoßes hab ich den Gedanken auch gehabt und werde das entsprechend einbauen. Mir fehlte nur der Ansatz, aber du hast mir den Abend gerettet, ich war schon am Verzweifeln, weil ich grundsätzlich den Weg wusste, hab aber zu viele Bäume auf der Straße gehabt.
David, vielen Dank! Genau so hatte ich mir das vorgestellt und das Brett vor dem Kopf ist weg.
Manchmal ist komisch
Hallo liebe Gemeinde,
ich habe gerade ein Brett vor dem Kopf und komme nicht auf die Lösung, aber ich bin mir sicher es ist eine Kleinigkeit für die meisten von euch. Und bitte daher um Hilfe und einen Holzbohrer
Folgendes Szenario, ich habe ein festes Skript "Stehlampe" beim einschalten wird die Stehlampe sowie 2 LED Streifen am Shelly RGBW eingeschaltet mit einem bestimmten Wert. Das passt auch alles.
Dazu habe ich ein "Klingelskript" erstellt, wenn es an der Haustür klingelt, gibt es zeitgesteuert eine Meldung seitens Alexa "Es hat geklingelt" und die beiden LED Streifen, die am RGBW hängen, wechseln in den Flash Modus und blinken 5 Sekunden rot.
Auch das funktioniert tadellos, allerdings möchte ich in dem "Klingelskript" die aktuelle Einstellung der LED Streifen am RGBW speichern, bevor das rote Blinken beginnt und am Ende der Skriptreihenfolge wieder in diesen Status zurücksetzen.
Bedeutet sollten die LED Streifen vor der Ausführung vom Skript aus gewesen sein, sollen Sie danach wieder abgeschaltet werden, sollten die LED Streifen vorher beispielsweise auf dem weißen Kanal mit 10 % eingeschalten gewesen sein, sollen Sie am Ende der Ausführung wieder in diesen Zustand zurückversetzt werden.
Ich hoffe, ich konnte halbwegs gut erklären, worum es mir geht und hoffe auf eine Lösung eurerseits.
Vorab schon vielen Dank!
Ich danke euch vielmals, @paul53 deine Lösung funktioniert super, aber zumindest war ich heute Vormittag schon mal Nah dran, aber Aufbau falsch..
Hallo,
ich checke mit dem PS4-Waker den Status meiner PS4. Und möchte aus dem Result String nur die Variable vom Wert Status zurück kriegen und mir per Telegramm senden ich habe schon zig Möglichkeiten versucht und kriege es einfach nicht hin. (Bin noch Anfänger) Suche habe ich benutzt aber wahrscheinlich kenne ich den richtigen Suchbefehl nicht.
Für euch alte Hasen, ist es sicher ein Scherz.
Hier das Script (nur mit dem ganzen Result)
Und hier der Inhalt aus dem Result:
javascript.0 (11962) script.js.PS4: { "type": "device", "statusLine": "620 Server Standby", "statusCode": "620", "status": "Standby", "host-id": "F8461C3F398A", "host-type": "PS4", "host-name": "PS4-962", "host-request-port": "997", "device-discovery-protocol-version": "00020020", "system-version": "07020001", "address": "192.168.178.10" }
Vielleicht hat jemand Lust mich ans Licht zu führen. Ganz schön Dunkel hier
@noaboa Ich habe es für mich nun lösen können.. nach etlichen Rollbacks und diversen Versuchen.
Also ich hatte verschiedene Herangehensweisen versucht, die alle zu Fehlern führten. Wenn ich in meinem LXC Container in der Konsole
npm install ps4-waker -g
ausgeführt habe, konnte ich anschließend auch über die Konsole mit dem Befehl
ps4-waker
die Bindung einleiten.
Aber es klappte nicht im IoBroker, weder via Javascript noch per Konsole. Auch der Versuch das Modul über den Javascript Adapter unter Instanzen zu laden funktionierte nicht.
Nun läuft es jedoch, ich habe folgendes gemacht, zuerst den IoBroker gestoppt, dann im LXC Container in der Konsole folgenden Befehl ausgeführt
setcap cap_net_raw,cap_net_admin=eip /usr/bin/node
(dieser scheint die Berechtigungsprobleme aufzuheben), anschließend den IoBroker wieder gestartet und dort über den Terminaladapter folgenden Befehl ausgefüht
npm install ps4-waker -g
diesmal habe ich auch keine Fehlermeldungen wegen Rootrechten erhalten. Anschließend aus dem Terminaladapter
ps4-waker
ausgeführt und den Bindungsprozess gestartet.
Nun lässt sich die Konsole mit ps4-waker aus dem Ruhezustand wecken und mit
ps4-waker standby wieder in den Ruhezustand versetzen lassen.
Auch die Exec Befehle im Javascript funktionieren nun.
also ich habe den PS4-Waker unter root mit
npm install ps4-waker -g
installiert.
Dort funktioniert es auch die PS4 zu verbinden und zu Wecken. Dann habe ich genauso wie Du schreibst den PS4-Waker im Javascript Adapter eingetragen.
Wenn ich dann im Terminaladapter versuche ps4-waker zu starten kommt folgende Meldung:
/opt/iobroker$ ps4-waker
No credentials; Use the PS4 Second Screen App and try to connect to "PS4-Waker"
Root permissions required to start PS4 Dummy
Attempting to request root permissions now (we will relinquish them as soon as possible):
sudo /usr/bin/node /usr/bin/ps4-waker --user-id 1001 -c /home/iobroker/.ps4-wake.credentials.json
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
sudo: no tty present and no askpass program specified
/opt/iobroker$
Wenn ich wie angegeben den Code ausführe:
sudo /usr/bin/node /usr/bin/ps4-waker --user-id 1001 -c /home/iobroker/.ps4-wake.credentials.json
kriege ich als Antwort:
/opt/iobroker$ sudo /usr/bin/node /usr/bin/ps4-waker --user-id 1001 -c /home/iobroker/.ps4-wake.credentials.json
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
sudo: no tty present and no askpass program specified
/opt/iobroker$
Ich weiß nicht mehr weiter..
Könntest du Netterweise den Teil mit dem NPM Adapter (PS4-Waker) genauer ausführen? Ich kriege den zum verrecken nicht ans laufen. In der Rootebene meines Debian funktioniert es ohne Probleme, aber im Iobroker kriege ich ihn nicht ans laufen. Übersehe ich irgendwo etwas? Was meinst du mit im Javascript Adapter eintragen?
Ich hoffe Du kannst/willst helfen.
Danke
Hi,
ich hatte bereits in diesem Thread geschrieben:
jedoch, steht der Titel da bereits auf gelöst, was eventuell zur Verwirrung führen kann. Daher mache ich nochmal einen neuen auf.
Ich habe folgendes Problem mit dem ps4-waker modul. Mein IoBroker läuft im LXC Container auf Proxmox, wenn ich im Root der Debian-Ebene das Modul über npm (npm i ps4-waker -g
installiere funktioniert alles und ich kann die PS4 steuern (Einschalten, Ausschalten etc.)
Im Iobroker kriege ich es nicht zu laufen, in dem verlinkten Beitrag gibt es immer ein BIN Verzeichnis, dies ist nach der Installation bei mir jedoch nicht vorhanden, dabei spielt es keine Rolle ob ich über den TerminalAdapter in der Kommandozeile versuche das Skript zu installieren oder im Javascript-Adapter das Modul hinzufüge.
Im Terminal erhalte ich folgende Antwort:
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
sudo: no tty present and no askpass program specified
/opt/iobroker$
Diese kam auch schon einmal:
npm WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
Allerdings kriege ich im Javascript auf folgendes Script die richtige Antwort:
const {Device} = require('ps4-waker');
var ps4 = new Device();
ps4.turnOn().then(() => ps4.close());
Ich komme einfach nicht mehr weiter und habe schon so viel versucht, dass ich schon den Überblick verliere.
Oder gibt es eine Möglichkeit, das ich ein Exec (Blockly) aus dem Broker aufs Debian direkt bringen kann um den Aufruf quasi weiterzuleiten?
Ich hoffe jemand kann mir helfen, sonst habe ich bald keine Haare mehr
Ich muss den Thread leider noch mal hoch holen und hoffe auf eure Hilfe.
Ich kriege den Adapter im Iobroker nicht zum laufen, auf Debian Ebene funktioniert es ohne Probleme.
Wenn ich es jedoch über den IoBroker versuche egal ob über npm install oder das Modul im Javascript Adapter eintrage. Es wird einfach kein /bin erzeugt somit kann ich den rest nicht ausführen.
Der Scriptaufruf funktioniert und liefert auch Ergebnisse im Log:
const {Device} = require('ps4-waker');
var ps4 = new Device();
ps4.getDeviceStatus().then((result) => {
console.log(JSON.stringify(result, null, 2));
ps4.close()}
);
aber ich kann im Terminaladapter nicht weitermachen weil es das /bin Verzeichnis nicht gibt. Weiß jemand rat?
Danke