AIOGateway V6 - Symbox

Hallo Leute :slight_smile:

Habe gerade den AIO Gateway V6 mini in Betrieb genommen.
FS20 Geräte sind im iQontrol smartphone App angemeldet.

In der Symbox ist das „Mediola AIO Gateway“ Modul installiert (github URL)
Im Splitter ist die IP der AIO eingetragen, aber kein Passwort, da ich nirgens eins einrichten musste/konnte

Instanz hinzufügen -> „AIO FS20 Device“ erscheint. Ich kriege aber die Fehlermeldung:
„Konnte Instanz nicht erstellen … Datenfluss ist inkompatibel in … module.php“

Kann es sein, dass die Version 6 noch nicht läuft?

-> Hab verschiedene Einstellungen versucht (im Splitter: verschiedene AIO Versionen und Ports, im Modul: verschiedene Zweige)
-> AIO Devive Import geht auch nicht. Hier die secundäre Fragen: geht das nur in Verbindung mit AIO Creator & geht es überhaupt mit der SymBox

Dank für Hilfe
Sheriff

Ein V6 oder V6 E? Ich habe noch nicht von allen neuen Gateways die Typenbezeichnung, könntest Du diese mal nachschlagen? Die findest Du z.B. im NEO Creator (Testmodus) im Gerätemanager oder vielleicht auch alternativ im NEO Config Tool. Bei einem V6 E ist diese z.B. C1, wäre wichtig wie diese beim V6 ist. Dann kann ich das fixen.

Des weitern wäre es interessant ob sich das V6 finden lässt da scheint es nämlich Unterschiede zu geben.

Kannst Du mal das ausführen und sagen ob Du da eine Ausgabe bekommst


$data = Discover();
var_dump($data);

 function Discover()
 {
     // BUILD MESSAGE
     $msg = "GET
";
     // MULTICAST MESSAGE
	  $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
        if (!$socket) {
            return [];
        }
        socket_set_option($socket, SOL_SOCKET, SO_BROADCAST, true);
        socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, true);
		// SET TIMEOUT FOR RECIEVE
        socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 2, "usec" => 100000));
        //socket_bind($socket, '0.0.0.0', 0);
	 if (@socket_sendto($socket, $msg, strlen($msg), 0, '239.255.255.250', 1901) === false) {
            return [];
        }
		// usleep(100000);
        $i = 50;
        $buf = '';
        $IPAddress = '';
        $Port = 1901;
        //$IPAddress = '';
        //$Port = 0;
     
     // RECIEVE RESPONSE
	 
     $response = array();
     do {
         $buf = null;
		 $bytes = @socket_recvfrom($socket, $buf, 2048, 0, $IPAddress, $Port);
         //var_dump($bytes);
         if (!is_null($buf)) {
             //echo "buffer nicht null";
             //var_dump($buf);
             $response[] = parseMSearchResponse($buf);
         }
     } while (!is_null($buf));
     // CLOSE SOCKET
     socket_close($socket);
     return $response;
 }

 function parseMSearchResponse( $response )
	{

        $responseArr = explode( "
", $response );
		$parsedResponse = array();
		foreach( $responseArr as $key => $row ) {
			if( stripos( $row, 'DHCP' ) === 0 )
					$parsedResponse['DHCP'] = str_ireplace( 'DHCP:', '', $row );
			if( stripos( $row, 'HWV' ) === 0 )
					$parsedResponse['HWV'] = str_ireplace( 'HWV:', '', $row );
			if( stripos( $row, 'VER') === 0 )
					$parsedResponse['VER'] = str_ireplace( 'VER:', '', $row );
			if( stripos( $row, 'VID') === 0 )
					$parsedResponse['VID'] = str_ireplace( 'VID:', '', $row );
			if( stripos( $row, 'NAME') === 0 )
					$parsedResponse['NAME'] = str_ireplace( 'NAME:', '', $row );
			if( stripos( $row, 'IP') === 0 )
					$parsedResponse['IP'] = str_ireplace( 'IP:', '', $row );
			if( stripos( $row, 'PT') === 0 )
					$parsedResponse['PT'] = str_ireplace( 'PT:', '', $row );	
			if( stripos( $row, 'SN') === 0 )
					$parsedResponse['SN'] = str_ireplace( 'SN:', '', $row );
			if( stripos( $row, 'GW') === 0 )
					$parsedResponse['GW'] = str_ireplace( 'GW:', '', $row );
			if( stripos( $row, 'DNS:') === 0 )
					$parsedResponse['DNS'] = str_ireplace( 'DNS:', '', $row );
			if( stripos( $row, 'MAC') === 0 )
					$parsedResponse['MAC'] = str_ireplace( 'MAC:', '', $row );
			if( stripos( $row, 'SWV:') === 0 )
					$parsedResponse['SWV'] = str_ireplace( 'SWV:', '', $row );
            if( stripos( $row, 'RFV:') === 0 )
					$parsedResponse['RFV'] = str_ireplace( 'RFV:', '', $row );
            if( stripos( $row, 'RFF:') === 0 )
					$parsedResponse['RFF'] = str_ireplace( 'RFF:', '', $row );
            if( stripos( $row, 'RFM:') === 0 )
					$parsedResponse['RFM'] = str_ireplace( 'RFM:', '', $row );
            if( stripos( $row, 'EID:') === 0 )
					$parsedResponse['EID'] = str_ireplace( 'EID:', '', $row );
            if( stripos( $row, 'FF:') === 0 )
					$parsedResponse['FF'] = str_ireplace( 'FF:', '', $row );
            if( stripos( $row, 'TZ') === 0 )
					$parsedResponse['TZ'] = str_ireplace( 'TZ:', '', $row );
		}
	
		return $parsedResponse;
	}

Wenn ich die IP im Browser eingeben kommt:

device: AIO Gateway V6
version: C4 (1.13.2)
uptime:…
memory:…

Dann ist es wohl C4 nachdem wir suchen.

der code läuft durch, doch das Array ist leer:

array(0) {
}

Danke ich melde mich, muss auch noch andere Dinge da fixen.

Kannst Du mal aus dem Module Store die Beta von
Mediola AIO Gateway
installieren und testen und Rückmeldung geben?

AIOSplitter instanz: funktioniert alles! - besten Dank

AIO FS20 Device kann ich anlegen, weiss aber nicht wie konfigurieren

AIO Divice Import:
Ich habe mit AIO Creator Neo eine divice_db erstellt (für andere: nicht auf C: im Programmordner suchen, sondern in Dokumente)
Der Import wirft eine lange Fehlermeldung startend mit mehereren:

  • "Modul mit der GUI {…} nicht gefunden in …AIO Divice Import/modul.php line 1727

weit unten sehe ich meine AIO Adressen. eine habe ich händisch in’s AIO FS20 Device übertragen. Ein Testbefehl wirft ein Fatal error: Class ‚Fonzo\Mediola\FS20‘ not found in … AIO FS20 Device/module.php

Kannst Du nochmal ein Update machen und dann aus dem Konfigurator versuchen das Gerät anzulegen?

Geräte sind angelegt.
ein Test Befehl wirft aber wieder den erwähnten „fatal error“.

Im Splitter sehe ich gerade, die Meldung „keine gültige IP Adresse“ - kann aber die Farben des LED ändern
Das Gerät meldet „die Konfiguration der übergeordneten Instanz ist Fehlerhaft“ was vermutlich auf den erwähnten Splitter-Fehler verweist

Welchen denn genau?

File

Tritt der Fehler auf wenn Du das in der Instanz schalten willst oder im Webfront, oder immer?

Oh, siehe da! in der Webfront funktioniert’s! Bewässerung an :slight_smile:

Im device „Befehl senden“ entsteht der Fehler

Nun seh ich: Der typ Swich und Dimmer wurde erkannt.
Typ Shutter wurde als Swich importiert

Na dann, die Blumen sollen ja nicht vertrocknen bei dem Wetter.

Das schau ich mir dann noch mal an.

gibts News?

Hast Du mal die aktuelle Beta aus dem Modul Store ausprobiert?
In der Suche unter
Mediola AIO Gateway
zu finden.

Ja, hab laufend Deine Updates verfolgt.

Der Shutter ist nun zwar auswählbar, aber erscheint und funktioniert noch als swich.