modyfikacja kodu sonoff socket

User avatar
Espablo
Posts: 1754
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim

Post

Usuń całkiem

Code: Select all

#define LED_RED_PORT    4
Zamiast

Code: Select all

supla_esp_gpio_set_led(hi, 0, 0);

daj

Code: Select all

supla_esp_gpio_set_hi(4, 1);
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
User avatar
kris.sg
Posts: 482
Joined: Mon Aug 07, 2017 8:08 pm
Location: Przezchlebie
Has thanked: 1 time
Been thanked: 1 time

Post

zmieniłem według twoich wskazówek
z tym że nie powinno być tak ?

Code: Select all

supla_esp_gpio_set_hi(4, hi);
dioda jednak nie reaguje
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
User avatar
Espablo
Posts: 1754
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim

Post

Czy teraz dioda miga podczas konfiguracji?
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
User avatar
kris.sg
Posts: 482
Joined: Mon Aug 07, 2017 8:08 pm
Location: Przezchlebie
Has thanked: 1 time
Been thanked: 1 time

Post

dioda nie świeci wcale
testowo skompilowałem softa dla sonoffa (wgrany do sonoffa)i jest to samo dioda nie swieci wcale i nie reaguje na zmiane stanu kanalu
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
User avatar
Espablo
Posts: 1754
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim

Post

No to teraz

Code: Select all

#define BOARD_GPIO_OUTPUT_SET_HI
if ( port == RELAY_PORT && supla_last_state == STATE_CONNECTED) { 
 	
 	GPIO_OUTPUT_SET(4, supla_esp_gpio_output_is_hi(RELAY_PORT) == 1 ? 1 : 0);

};
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
User avatar
kris.sg
Posts: 482
Joined: Mon Aug 07, 2017 8:08 pm
Location: Przezchlebie
Has thanked: 1 time
Been thanked: 1 time

Post

Dzieki sprawdze to jutro i dam znac
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
User avatar
kris.sg
Posts: 482
Joined: Mon Aug 07, 2017 8:08 pm
Location: Przezchlebie
Has thanked: 1 time
Been thanked: 1 time

Post

Espablo wrote: Sat Nov 10, 2018 12:55 pm No to teraz

Code: Select all

#define BOARD_GPIO_OUTPUT_SET_HI
if ( port == RELAY_PORT && supla_last_state == STATE_CONNECTED) { 
 	
 	GPIO_OUTPUT_SET(4, supla_esp_gpio_output_is_hi(RELAY_PORT) == 1 ? 1 : 0);

};
skompilowałem softa i dalej ciemność dioda cały czas zgaszona

zrobilem jeszcze jeden eksperyment zrobiłem softa z #define B_RELAY1_PORT 4
i dioda działa co prawda z odwróconą logiką ale to akurat nieistotne
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
User avatar
Espablo
Posts: 1754
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim

Post

To zamień to

Code: Select all

GPIO_OUTPUT_SET(4, supla_esp_gpio_output_is_hi(RELAY_PORT) == 1 ? 1 : 0);
Na to

Code: Select all

GPIO_OUTPUT_SET(4, supla_esp_gpio_output_is_hi(RELAY_PORT) == 1 ? 0 : 1);
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
User avatar
kris.sg
Posts: 482
Joined: Mon Aug 07, 2017 8:08 pm
Location: Przezchlebie
Has thanked: 1 time
Been thanked: 1 time

Post

kurde być może źle to robie w pilku sonoff_socket.c

wrzuciłem na probę do pliku supla_esp_gpio.c

Code: Select all

void
supla_esp_gpio_set_hi(int port, char hi) {

    //supla_log(LOG_DEBUG, "supla_esp_gpio_set_hi %i, %i", port, hi);

	#ifdef BOARD_GPIO_OUTPUT_SET_HI
	BOARD_GPIO_OUTPUT_SET_HI
	#endif
	
	if ( port == 12 && supla_last_state == STATE_CONNECTED) { 
 	GPIO_OUTPUT_SET(4, supla_esp_gpio_output_is_hi(12) == 1 ? 1 : 0); 
	}

	if ( port == 16 ) {
		gpio16_output_set(hi == 1 ? 1 : 0);
	} else {
		GPIO_OUTPUT_SET(GPIO_ID_PIN(port), hi == 1 ? 1 : 0);
	}

}

i odziwo dioda działa
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
User avatar
kris.sg
Posts: 482
Joined: Mon Aug 07, 2017 8:08 pm
Location: Przezchlebie
Has thanked: 1 time
Been thanked: 1 time

Post

tak wygląda mój plik sonoff_socket.c

Code: Select all


#define B_RELAY1_PORT    12
#define B_CFG_PORT       13

void supla_esp_board_set_device_name(char *buffer, uint8 buffer_size) {

	ets_snprintf(buffer, buffer_size, "GNIAZDKO NEO");

}


void supla_esp_board_gpio_init(void) {
		
	supla_input_cfg[0].type = INPUT_TYPE_BTN_MONOSTABLE;
	supla_input_cfg[0].gpio_id = B_CFG_PORT;
	supla_input_cfg[0].flags = INPUT_FLAG_PULLUP | INPUT_FLAG_CFG_BTN;
	supla_input_cfg[0].relay_gpio_id = B_RELAY1_PORT;
	supla_input_cfg[0].channel = 0;

	// ---------------------------------------
	// ---------------------------------------

    supla_relay_cfg[0].gpio_id = B_RELAY1_PORT;
    supla_relay_cfg[0].flags = RELAY_FLAG_RESTORE_FORCE;
    supla_relay_cfg[0].channel = 0;
    

}

#define BOARD_GPIO_OUTPUT_SET_HI if ( port == B_RELAY1_PORT && supla_last_state == STATE_CONNECTED) { \
 	GPIO_OUTPUT_SET(4, supla_esp_gpio_output_is_hi(B_RELAY1_PORT) == 1 ? 1 : 0); \
};


void supla_esp_board_set_channels(TDS_SuplaDeviceChannel_B *channels, unsigned char *channel_count) {

	*channel_count = 1;

	channels[0].Number = 0;
	channels[0].Type = SUPLA_CHANNELTYPE_RELAY;

	channels[0].FuncList = SUPLA_BIT_RELAYFUNC_POWERSWITCH \
								| SUPLA_BIT_RELAYFUNC_LIGHTSWITCH;

	channels[0].Default = SUPLA_CHANNELFNC_POWERSWITCH;

	channels[0].value[0] = supla_esp_gpio_relay_on(B_RELAY1_PORT);

}

void supla_esp_board_send_channel_values_with_delay(void *srpc) {

	supla_esp_channel_value_changed(0, supla_esp_gpio_relay_on(B_RELAY1_PORT));
	

}
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3

Return to “Pomoc”