Hauptversion V 4.5 - Awakening Beast veröffentlicht

Bild

Verehrte Nutzer des Timberwolf Servers. Wir haben die neue Hauptversion 4.5 für alle Modelle des Timberwolf Servers freigegeben.

Diese neue Version enthält insgesamt 24 neue Funktionen, 72 größere Verbesserungen und 28 wichtige Fehlerkorrekturen


Darunter die Timberwolf VISU in modernisiertem Look mit vielen Erweiterungen wie Rollladen-Widget, Detailseiten mit 20 Schaltern / Werten, Tabellen & Logs, verbessertertem Verknüpfungsassistent, Secure KNX im Busmonitor sowie Dekodierung weiterer DPT, komplett überarbeitete Darstellung der phys. Einheiten, einem stark erweitertem Logik Manager mit grafischer Darstellung der Logik Zellen, einer Unterstützung für HTTP-/REST-API als Server, dem Im- und Export von Geräteprofilen im MQTT sowie HTTP-/REST-API Manager und viele weitere Detailverbesserungen inkl. Lizenzmanagement.

Foren Diskussion: viewtopic.php?f=8&t=6050

Release Notes im Wiki: https://elabnet.atlassian.net/wiki/x/AYBLyQ

[DISKUSSION] Steuerung der Onkyo AV Receiver

Wissen, Planung & Diskussion zur Unterstützung von Rest-API & Webabfragen im Timberwolf Server.
Stellt uns hier Eure Projekte und Ideen vor.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

Ersteller
Sun1453
Beiträge: 2278
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 2082 Mal
Danksagung erhalten: 902 Mal

#11

Beitrag von Sun1453 »

Hallo Adi und Robert, @adimaster @Robert_Mini

Habe jetzt eine Node für Node Red entdeckt. Mit Node Red werde ich mal schauen was da aktuell geht. Eventuell ist es aber auch für Stefan [@StefanW ] und sein Team interessant. Es sind nur wenige Dateien und vielleicht könnt ihr das Informationen ziehen. FR

https://github.com/estbeetoo/node-red-contrib-eiscp

https://flows.nodered.org/node/node-red-contrib-eiscp
Zuletzt geändert von Sun1453 am Do Jun 11, 2020 12:30 pm, insgesamt 2-mal geändert.
Gruß Michael

Timberwolf 950 QL #344 | Mit Internetanbindung | VPN Offen | Reboot nach Absprache | PROD Server
Timberwolf 2500 #602 | VPN offen | TEST Server | Reboot nach Absprache |

Ersteller
Sun1453
Beiträge: 2278
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 2082 Mal
Danksagung erhalten: 902 Mal

#12

Beitrag von Sun1453 »

Weitere Infos die helfen könnten:

Code: Alles auswählen

Code:

#!/usr/bin/perl -w

use strict;
use IO::Socket;


my $host =  '192.168.4.52';
my $port = '60128';

my $logfile = '/var/log/iscp.log';

my %actions = (
"PWR00", '/usr/local/bin/groupwrite "ip:127.0.0.1" "3/3/0" "0"',
"PWR01", '/usr/local/bin/groupwrite "ip:127.0.0.1" "3/3/0" "1"',
"ZPW00", '/usr/local/bin/groupwrite "ip:127.0.0.1" "3/3/2" "0"',
"ZPW01", '/usr/local/bin/groupwrite "ip:127.0.0.1" "3/3/2" "1"',
"MVL", '/usr/local/bin/groupswrite "ip:127.0.0.1" "3/3/1" "VALUE"',
"ZVL", '/usr/local/bin/groupswrite "ip:127.0.0.1" "3/3/3" "VALUE"',
"SLI", '/usr/local/bin/groupswrite "ip:127.0.0.1" "3/3/5" "VALUE"',
"SLZ", '/usr/local/bin/groupswrite "ip:127.0.0.1" "3/3/6" "VALUE"'
);





# --------------------------
# nothing to edit after this
# --------------------------

# daemonize

my $pid= fork();
exit if $pid;
die "Couldn't fork: $!" unless defined($pid);

for my $handle (*STDIN,*STDOUT,*STDERR){
open($handle, "+<", "/dev/null") || die "can't reopen $handle to /dev/null: $!";
}

use POSIX;
POSIX::setsid() or die "Can't start a new session: $!";

my $time_to_die=0;

sub signal_handler {
$time_to_die=1;
}

$SIG{INT}=$SIG{TERM}=$SIG{HUP}=\&signal_handler;

until ($time_to_die) {



my $sock = new IO::Socket::INET(
                   PeerAddr => $host,
                   PeerPort => $port,
                   Proto    => 'tcp');
$sock or die "no socket :$!";
$sock->autoflush(1);

my $socklocal = new IO::Socket::INET(
                    LocalPort => $port,
                    Type => SOCK_STREAM,
                    Listen => 5,
                    Reuse => 1 );

$socklocal or die "no socket :$!";

my($kid,$line,$cmd,$length,$code,$in);
die "fork fail: $!" unless defined($kid = fork);
if ($kid) {
    while (my $client=$socklocal->accept) {
        $in=<$client>;
        $cmd="!1".$in;
        $length=length($cmd)+1;
        $code =chr($length);

        # setup the string we are sending ...
        $line  = "ISCP\x00\x00\x00\x10\x00\x00\x00$code\x01\x00\x00\x00".$cmd."\x0D";

        # send it !
        print $sock $line;
    }
    # kill the child process
    kill(TERM => $kid);
} else {

    # child reads from socket
    while (defined($sock->recv(my $data,1024))) {
        my $chunk=substr($data,18,5);
        while ((my $key, my $value)=each(%actions)) {
            if (!index($chunk, $key)) {
                if (index($value, "VALUE")>0) {
                    $_=$chunk;
                    my $result=s/$key//;
                    $chunk=$_;
                    substr($value, index($value, 'VALUE'),5 )=$chunk
                }
        open FILE, ">>", "$logfile" or die $!;
        my $t = time();
        my $now = localtime($t);
        print FILE "$now \t Chunk $chunk \t Key $key \t Value $value\n";
        close(FILE);

                system($value);
            }
        }
    }
    close $sock;
}
}
Gruß Michael

Timberwolf 950 QL #344 | Mit Internetanbindung | VPN Offen | Reboot nach Absprache | PROD Server
Timberwolf 2500 #602 | VPN offen | TEST Server | Reboot nach Absprache |
Antworten

Zurück zu „HTTP-API, REST & Web-Abfragen“