Werkt dit met multisim? ben van plan om een odido unlimited abbo te nemen. Dan vraag ik een extra sim aan om in de Alcatel Mifi router MW70VK te stoppen.
Voeg deze regel toe aan je .env bestand en dan werkt het:Shief schreef op zaterdag 3 februari 2024 @ 21:54:
[...]
Geeft dus aan dat ik een x aantal mb's over heb, terwijl ik overga naar extreem lage internetsnelheid en de mb's kan aanvullen in de odidio app.
Zie ik wat over het hoofd ?
code:
1
| BUYINGCODE=A0DAY05 |
Aanvullen zonder veel gedoe kan ook met Automation. Root vereist voor het automatisch versturen sms Nog 1 gb op bijv. tijdstip en trigger.
https://f-droid.org/packages/com.jens.automation2/
https://f-droid.org/packages/com.jens.automation2/
Kan je uberhaupt een multisim kopen met een Unlimited abonnement?Docc schreef op vrijdag 9 februari 2024 @ 15:01:
Werkt dit met multisim? ben van plan om een odido unlimited abbo te nemen. Dan vraag ik een extra sim aan om in de Alcatel Mifi router MW70VK te stoppen.
Hier in ieder geval ThaGuus in "[T-Mobile] Automatisch 1-GB aanvullers activeren" succesvol werkend gekregen met de tool. Top!
Niet dat ik nu zo vaak 10GB per dag verbruik.
[ Voor 24% gewijzigd door rens-br op 20-02-2024 08:34 ]
Multi sim leek me ook wel wat.. Tablet heeft ook 4G capaciteiten.. Kan er zelfs mee bellen... Multisim lijkt me daar ook wel praktisch voor...
Alleen of dat gaat werken.. En blijft werken? Immers ze kunnen denk ik wel achterhalen dat het geen smartwatch is...
Anders zou het een 2de abbo betekenen.. En dat is me het dan nog weer niet waard eigenlijk
Alleen of dat gaat werken.. En blijft werken? Immers ze kunnen denk ik wel achterhalen dat het geen smartwatch is...
Anders zou het een 2de abbo betekenen.. En dat is me het dan nog weer niet waard eigenlijk
404 Signature not found
Nog nooit gewerkt, dit is mijn eerste poging
Welke docker image is dit, want volgens mij heb je hem ingesteld dat hij alleen de bundels laat zien in plaats van dat hij aanvulttimverdonschot schreef op zaterdag 25 mei 2024 @ 12:26:
Iemand een idee waarom mijn mb's niet aangevuld worden, ik heb alle 3 de bundle codes geprobeerd:
[Afbeelding]
Node.js with YarnThaGuus schreef op zaterdag 25 mei 2024 @ 15:51:
[...]
Welke docker image is dit, want volgens mij heb je hem ingesteld dat hij alleen de bundels laat zien in plaats van dat hij aanvult
Dit laat ie zien als ik debug uit zet:
pm2 launched in no-daemon mode (you can add DEBUG="*" env variable to get more messages)
2024-05-25T16:46:00: PM2 log: Launching in no daemon mode
2024-05-25T16:46:00: PM2 error: [PM2][WARN] Folder does not exist: C:\Users\Tim Verdonschot\TMobile-NL-Unlimited-Bundle-Automated\logs
2024-05-25T16:46:00: PM2 log: [PM2] Creating folder: C:\Users\Tim Verdonschot\TMobile-NL-Unlimited-Bundle-Automated\logs
2024-05-25T16:46:00: PM2 log: [PM2] Starting C:\Users\Tim Verdonschot\TMobile-NL-Unlimited-Bundle-Automated\dist\index.js in fork_mode (1 instance)
2024-05-25T16:46:00: PM2 log: App [unlimited-sim:0] starting in -fork mode-
2024-05-25T16:46:00: PM2 log: App [unlimited-sim:0] online
2024-05-25T16:46:00: PM2 log: [PM2] Done.
2024-05-25T16:46:00: PM2 log: ┌─────┬──────────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├─────┼──────────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ unlimited-sim │ default │ N/A │ fork │ 7800 │ 0s │ 0 │ online │ 0% │ 39.6mb │ Tim… │ disabled │
└─────┴──────────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
2024-05-25T16:46:00: PM2 log: [--no-daemon] Continue to stream logs
2024-05-25T16:46:00: PM2 log: [--no-daemon] Exit on target PM2 exit pid=4196
16:46:07 0|unlimited-sim | 2024-05-25T16:46:07: 955674 MB's left
Side note ^ MB's lopen dus leeg en worden niet aangevuld, op de site zie ik DAY01 in element inspect staan
[s]Ik heb 2 Odido nummers << Blijkbaar werkt het bij mijn particulieren nummer wel! waarschijnlijk omdat zakelijk een MB verdeler heeft. case closed
[ Voor 67% gewijzigd door timverdonschot op 25-05-2024 17:16 ]
Ik heb een kleine update gemaakt op TMobile-NL-Unlimited-Bundle-Automated-docker 
Heb je meer dan 10GB beschikbaar, dan is de check-interval 10 minuten. Tussen de 2-10GB beschikbaar, dan is de interval 2 minuten. Minder dan 2GB, dan is de interval 30 seconden. Dit zorgt ervoor dat de bundles sneller geactiveerd worden zodra je het nodig hebt, terwijl je onder de streep juist minder calls naar Odido doet omdat het op "rustige" dagen niet de hele tijd calls uitvoert. Have fun ermee
https://github.com/GuusBa...e-Automated-docker/pull/1
Docker image:
Heb je meer dan 10GB beschikbaar, dan is de check-interval 10 minuten. Tussen de 2-10GB beschikbaar, dan is de interval 2 minuten. Minder dan 2GB, dan is de interval 30 seconden. Dit zorgt ervoor dat de bundles sneller geactiveerd worden zodra je het nodig hebt, terwijl je onder de streep juist minder calls naar Odido doet omdat het op "rustige" dagen niet de hele tijd calls uitvoert. Have fun ermee
https://github.com/GuusBa...e-Automated-docker/pull/1
Docker image:
code:
1
| renkosteenbeek/tmobile-nl-unlimited-bundle-automated:main |
[ Voor 13% gewijzigd door kamerplant op 03-07-2024 11:38 ]
🌞🍃
Ik probeer deze aan te praat te krijgen via docker-compose, maar krijg een error:
Ik heb ook de default docker-compose.yaml geprobeerd die op GitHub staat, maar die geeft dezelfde foutmelding.
@kamerplant Hoe kan ik jouw aangepaste versie gestart krijgen via docker-compose?
Mijn docker-compose.yaml ziet er nu zo uit:Unsupported config option for services: 'unlimited-sim'
code:
1
2
3
4
5
6
7
8
9
10
| services: unlimited-sim: image: ghcr.io/GuusBackup/tmobile-nl-unlimited-bundle-automated:main environment: - AUTHORIZATIONTOKEN=$AUTHORIZATIONTOKEN - MSISDN=$MSISDN - BUYINGCODE=$BUYINGCODE - UPDATE_INTERVAL=$UPDATE_INTERVAL - DEBUG=$DEBUG command: yarn start-daemon |
Ik heb ook de default docker-compose.yaml geprobeerd die op GitHub staat, maar die geeft dezelfde foutmelding.
@kamerplant Hoe kan ik jouw aangepaste versie gestart krijgen via docker-compose?
Wellicht gebruik je een "oudere" compose versie? De property version (dus bv:Mr Magic schreef op zondag 4 augustus 2024 @ 22:58:
Ik probeer deze aan te praat te krijgen via docker-compose, maar krijg een error:
code:
) is tegenwoordig verouderd.1
| version: 3.9 |
Als je die toevoegd werkt het dan?
Bedankt, dan werkt het inderdaad. M'n docker host VM is nog een oude Ubuntu 20.04.6 LTS versie. Hoewel alle packages wel up-to-date zijn, maar dat is blijkbaar niet voldoendelodu schreef op maandag 5 augustus 2024 @ 08:13:
[...]
Wellicht gebruik je een "oudere" compose versie? De property version is tegenwoordig verouderd.
Als je die toevoegt werkt het dan?
Overigens krijg ik hiermee alleen jouw versie en die van kamerplant werkend. Die van GuusBackup werkt niet, want dan klaagt docker-compose erover dat er alleen lowercase in de URL mag staan (en met lowercase krijg ik dan weer een manifest error).
Ik heb geen idee of die van mij nog werkt, zit zelf bij vodafone en gebruik/onderhoud de code dus ook niet meer. Heb destijds wel wat updates van Guus gemerged in mijn repo.Mr Magic schreef op maandag 5 augustus 2024 @ 09:04:
[...]
Overigens krijg ik hiermee alleen jouw versie en die van kamerplant werkend.
Zowel README als docker-compose van zowel Guus als kamerplant refereert nog wel naar mijn container (ghcr.io/lodu/tmobile-nl-unlimited-bundle-automated-docker:main) zie ik. Daar zit dus wel (een deel van?) Guus' code in.
Kamerplant heeft zelf geen (container)image geupload naar de container registry.
Om kamerplant's code in Github te gebruiken zul je de repo moeten clonen en de image (in doco.yaml) moeten wijzen naar de lokale Dockerfile door [code]build: .[/code]
neer te zetten ipv image: <url>
Alternatief kan je zijn repo forken en dan een build draaien richting de github container registry (is een brakwerkende github action voor in de repo), dan hoef je niet te clonen.
Zijn image staat op docker hub: https://hub.docker.com/r/...ted-bundle-automated/tags
[ Voor 16% gewijzigd door lodu op 05-08-2024 11:46 . Reden: typo en schijnbaar heb ik ooit Guus z'n code gemerged in mijne ]
@lodu
Ik heb de versie van @kamerplant nu werkend met docker-compose door dit in de docker-compose.yaml te zetten (dat stond overigens al in zijn bericht van 2 juli):
De log geeft netjes elke 10 minuten aan hoeveel MB ik nog over hebt, dus het lijkt allemaal te werken:
Ik heb de versie van @kamerplant nu werkend met docker-compose door dit in de docker-compose.yaml te zetten (dat stond overigens al in zijn bericht van 2 juli):
code:
1
| image: renkosteenbeek/tmobile-nl-unlimited-bundle-automated:main |
De log geeft netjes elke 10 minuten aan hoeveel MB ik nog over hebt, dus het lijkt allemaal te werken:
unlimited-sim_1 | 08:16:57 0|unlimited-sim | 2024-08-05T08:16:57: 18893 MB's left
unlimited-sim_1 | 08:26:59 0|unlimited-sim | 2024-08-05T08:26:59: 18893 MB's left
unlimited-sim_1 | 08:37:02 0|unlimited-sim | 2024-08-05T08:37:02: 18764 MB's left
Ah check, hij staat op Docker Hub inderdaad: https://hub.docker.com/r/...ted-bundle-automated/tagsMr Magic schreef op maandag 5 augustus 2024 @ 10:44:
@lodu
Ik heb de versie van @kamerplant nu werkend met docker-compose door dit in de docker-compose.yaml te zetten (dat stond overigens al in zijn bericht van 2 juli):
[...]
Persoonlijk denk ik dat de interval vs available MB's checks nog wel wat ruimer kunnen.kamerplant schreef op dinsdag 2 juli 2024 @ 17:53:
Ik heb een kleine update gemaakt op TMobile-NL-Unlimited-Bundle-Automated-docker
Heb je meer dan 10GB beschikbaar, dan is de check-interval 10 minuten. Tussen de 2-10GB beschikbaar, dan is de interval 2 minuten. Minder dan 2GB, dan is de interval 30 seconden.
De Odido bundel heeft standaard 20 GB per dag en de checker begint nu vanaf 10 GB al elke 2 minuten te pollen:
Is het een idee om drie betreffende "MB's left" waardes configureerbaar te maken?unlimited-sim_1 | 15:17:51 0|unlimited-sim | 2024-08-05T15:17:51: 11764 MB's left
unlimited-sim_1 | 15:27:54 0|unlimited-sim | 2024-08-05T15:27:54: 10764 MB's left
unlimited-sim_1 | 15:38:00 0|unlimited-sim | 2024-08-05T15:38:00: 9764 MB's left
unlimited-sim_1 | 15:40:01 0|unlimited-sim | 2024-08-05T15:40:01: 9764 MB's left
unlimited-sim_1 | 15:42:03 0|unlimited-sim | 2024-08-05T15:42:03: 9764 MB's left
Ik zou bijvoorbeeld iets doen als "> 10 GB: elke 15 minuten, 2-10 GB: elke 5 minuten en < 2GB: elke 1 minuut".
Of misschien het aantal minuten voor elk "MB slot" ook configureerbaar maken?
EDIT:
Nog een vraagje. Na het activeren van de eerste 2 GB bundel, is er weer 4000 MB beschikbaar. Als de beschikbare MB's daarna weer onder de 2000 komen, probeert het script weer een nieuwe bundel toe te voegen, maar dat mag dan nog niet:
Als ik het goed begrijp moet je boven de 80% gebruik van je huidige bundel zitten voor je een nieuwe mag aanvragen. Dat zou betekenen dat je bij een 2 GB bundel pas een nieuwe mag aanvragen als je onder de 400 MB beschikbaar komt. Is dat aan te passen in het script?unlimited-sim_1 | 22:07:55 0|unlimited-sim | 2024-08-05T22:07:55: 1962 MB's left
unlimited-sim_1 | 22:07:56 0|unlimited-sim | 2024-08-05T22:07:56: Cannot already get new bundle
[ Voor 21% gewijzigd door Mr Magic op 05-08-2024 22:15 ]
Met een zakelijk 06-nummer lijkt de ingenieuze Docker-oplossing niet te werken... ik krijg "Cannot already get new bundle", zelfs bij 0MB over. Misschien is de buyingcode anders? Hoe kom ik daar achter?
Dit is de nieuwe buyingcode: T2UNLBB2
Ik heb de code aangepast zodat hij automatisch de nieuwe BuyingCode ophaalt vanuit de API-respons.
Dit zal ik later hierop delen.
Ik heb de code aangepast zodat hij automatisch de nieuwe BuyingCode ophaalt vanuit de API-respons.
Dit zal ik later hierop delen.
[ Voor 174% gewijzigd door Heyforlife op 07-09-2024 19:48 ]
Als iemand dit kan fixen voor zakelijk zou ik dit heel erg kunnen waarderen, gaat om een @Work abbo met een MB verdelertimverdonschot schreef op zaterdag 25 mei 2024 @ 16:48:
[...]
Node.js with Yarn
Dit laat ie zien als ik debug uit zet:
pm2 launched in no-daemon mode (you can add DEBUG="*" env variable to get more messages)
2024-05-25T16:46:00: PM2 log: Launching in no daemon mode
2024-05-25T16:46:00: PM2 error: [PM2][WARN] Folder does not exist: C:\Users\Tim Verdonschot\TMobile-NL-Unlimited-Bundle-Automated\logs
2024-05-25T16:46:00: PM2 log: [PM2] Creating folder: C:\Users\Tim Verdonschot\TMobile-NL-Unlimited-Bundle-Automated\logs
2024-05-25T16:46:00: PM2 log: [PM2] Starting C:\Users\Tim Verdonschot\TMobile-NL-Unlimited-Bundle-Automated\dist\index.js in fork_mode (1 instance)
2024-05-25T16:46:00: PM2 log: App [unlimited-sim:0] starting in -fork mode-
2024-05-25T16:46:00: PM2 log: App [unlimited-sim:0] online
2024-05-25T16:46:00: PM2 log: [PM2] Done.
2024-05-25T16:46:00: PM2 log: ┌─────┬──────────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├─────┼──────────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ unlimited-sim │ default │ N/A │ fork │ 7800 │ 0s │ 0 │ online │ 0% │ 39.6mb │ Tim… │ disabled │
└─────┴──────────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
2024-05-25T16:46:00: PM2 log: [--no-daemon] Continue to stream logs
2024-05-25T16:46:00: PM2 log: [--no-daemon] Exit on target PM2 exit pid=4196
16:46:07 0|unlimited-sim | 2024-05-25T16:46:07: 955674 MB's left
Side note ^ MB's lopen dus leeg en worden niet aangevuld, op de site zie ik DAY01 in element inspect staan
PS: Kan iemand mij vertellen waar ik de buy codes vind in mijn account, dat zou voldoende zijn.
Edit
/f/image/eM8YbS0pjtDH3fPYtOod26qU.png?f=fotoalbum_large)
[ Voor 7% gewijzigd door timverdonschot op 12-12-2024 12:55 ]
https://github.com/GuusBa.../index.ts#L108C18-L108C19timverdonschot schreef op donderdag 12 december 2024 @ 12:23:
[...]
Als iemand dit kan fixen voor zakelijk zou ik dit heel erg kunnen waarderen, gaat om een @Work abbo met een MB verdeler
PS: Kan iemand mij vertellen waar ik de buy codes vind in mijn account, dat zou voldoende zijn.
Edit [Afbeelding] < naar mijn begrip zou de buycode A0DAY05 zijn, helaas geen effect. iemand slimmer?
${this.PERSONAL_API_URI}/availableroamingbundles geeft de mogelijke bundels terug die je via de api kan aanvragen, in princiepe zodra je een bundel kan aanvragen geeft dat endpoint het terug. Daarin zou de correct buycode moeten zitten.
https://gist.github.com/G...1ccf1154214be8b605d8cb88c
Deze postman collection kan je ook nog wel helpen. Bij de variabelen hoef je alleen de access_token in te stellen. Daarna voer je stap 1 en 2 uit. Die vullen automatisch de variabelen linked_subscription_apiurl en subscription_apiurl in doormiddel van de tests.
Deze postman collection kan je ook nog wel helpen. Bij de variabelen hoef je alleen de access_token in te stellen. Daarna voer je stap 1 en 2 uit. Die vullen automatisch de variabelen linked_subscription_apiurl en subscription_apiurl in doormiddel van de tests.
@timverdonschot
Er zijn meerdere bundles in ZoneColor NL, waardoor je telkens 98348Mb terug krijgt. Dit is dan ook de verkeerde bundel. Door het volgende aan te passen wordt er naar de juiste bundle gekeken.
regel 140
Doe vervolgens weer yarn build en run de tool. Nu zou het moeten werken.
Er zijn meerdere bundles in ZoneColor NL, waardoor je telkens 98348Mb terug krijgt. Dit is dan ook de verkeerde bundel. Door het volgende aan te passen wordt er naar de juiste bundle gekeken.
code:
1
| src/providerModels/TMobile/index.ts |
regel 140
code:
1
| if (bundle.ZoneColor == "NL" && bundle.BuyingCode == 'A0DAY01') { |
Doe vervolgens weer yarn build en run de tool. Nu zou het moeten werken.
Ik liep tegen hetzelfde probleem aan (ik wilde een geautomatiseerde "gb aanvuller". Ik heb dit nu opgelost door middel van de macrodroid app die op mijn telefoon draait. Bij een binnenkomende sms met de text van odido wordt automatisch "extra" ge-smst naar 1280:
Op dit moment heb ik 3 verschillende macro's ingesteld (met verschillende filters op de inkomende sms berichten).
1e: bij de eerste melding dat de bundel op is
2e: bij 80% aanvuller verbruikt
3e: bij 100% aanvuller verbruikt.
In alle gevallen stuurt ie direct een sms naar Odido om de boel weer af te toppen.
Ik weet nog niet wat de impact op de accu zal zijn overigens
Hopelijk is iemand hiermee geholpen!
stuktje schaamteloos knip- en plakwerk van vriend chatgpt
:
vraag:
how to set macrodroid trigger based on incoming text based off text content
ChatGPT said:
ChatGPT
To set a MacroDroid trigger based on the content of an incoming text message, follow these steps:
1. Install MacroDroid
Download and install MacroDroid from the Google Play Store.
Grant the necessary permissions, including access to SMS.
2. Create a New Macro
Open MacroDroid and tap on "Add Macro".
Select "Trigger" to choose the event that will activate your macro.
3. Set the SMS Trigger
Scroll through the list of triggers and select "SMS Received".
Configure the following:
Sender: Enter the specific number or name of the sender (e.g., "1300" or "Odido"). Leave it blank if you want the trigger to work for all senders.
Message Content: Enter a keyword or phrase from the message that should trigger the macro (e.g., "Your data is 80% used").
Example:
Sender: 1300
Message Content: "80% used"
Tap OK to save the trigger.
4. Add Actions
Tap "Add Action" to define what should happen when the trigger activates.
Choose from a range of actions. Common examples include:
Send an SMS: Send an automated reply or command.
Open App: Launch an app like Odido to top up data.
Show Notification: Display a reminder or alert.
Run a Task: Simulate user interaction or perform another action.
Customize the action to match your needs.
5. Optional: Add Constraints
Tap "Add Constraint" to limit when the macro runs.
Example constraints:
Time of Day: Only trigger between 8:00 AM and 8:00 PM.
Wi-Fi State: Only trigger when connected to Wi-Fi.
Save the constraint.
6. Save and Activate
Give your macro a descriptive name (e.g., "Data Usage Alert").
Tap the checkmark to save.
Ensure MacroDroid is running in the background to execute the macro when the trigger conditions are met.
Example Use Case
If you want to receive a notification when you get a message from "Odido" that says "80% used":
Trigger: SMS Received
Sender: Odido
Message Content: 80% used
Action: Show a notification saying, "Time to check your data usage!"
Constraint: Only trigger between 9:00 AM and 10:00 PM.
Tips
Test your macro by sending a sample SMS with the expected content to verify it works.
MacroDroid may require you to set it as your default SMS app temporarily to process incoming messages. You can revert this after configuring your macro.
Op dit moment heb ik 3 verschillende macro's ingesteld (met verschillende filters op de inkomende sms berichten).
1e: bij de eerste melding dat de bundel op is
2e: bij 80% aanvuller verbruikt
3e: bij 100% aanvuller verbruikt.
In alle gevallen stuurt ie direct een sms naar Odido om de boel weer af te toppen.
Ik weet nog niet wat de impact op de accu zal zijn overigens
Hopelijk is iemand hiermee geholpen!
stuktje schaamteloos knip- en plakwerk van vriend chatgpt
vraag:
how to set macrodroid trigger based on incoming text based off text content
ChatGPT said:
ChatGPT
To set a MacroDroid trigger based on the content of an incoming text message, follow these steps:
1. Install MacroDroid
Download and install MacroDroid from the Google Play Store.
Grant the necessary permissions, including access to SMS.
2. Create a New Macro
Open MacroDroid and tap on "Add Macro".
Select "Trigger" to choose the event that will activate your macro.
3. Set the SMS Trigger
Scroll through the list of triggers and select "SMS Received".
Configure the following:
Sender: Enter the specific number or name of the sender (e.g., "1300" or "Odido"). Leave it blank if you want the trigger to work for all senders.
Message Content: Enter a keyword or phrase from the message that should trigger the macro (e.g., "Your data is 80% used").
Example:
Sender: 1300
Message Content: "80% used"
Tap OK to save the trigger.
4. Add Actions
Tap "Add Action" to define what should happen when the trigger activates.
Choose from a range of actions. Common examples include:
Send an SMS: Send an automated reply or command.
Open App: Launch an app like Odido to top up data.
Show Notification: Display a reminder or alert.
Run a Task: Simulate user interaction or perform another action.
Customize the action to match your needs.
5. Optional: Add Constraints
Tap "Add Constraint" to limit when the macro runs.
Example constraints:
Time of Day: Only trigger between 8:00 AM and 8:00 PM.
Wi-Fi State: Only trigger when connected to Wi-Fi.
Save the constraint.
6. Save and Activate
Give your macro a descriptive name (e.g., "Data Usage Alert").
Tap the checkmark to save.
Ensure MacroDroid is running in the background to execute the macro when the trigger conditions are met.
Example Use Case
If you want to receive a notification when you get a message from "Odido" that says "80% used":
Trigger: SMS Received
Sender: Odido
Message Content: 80% used
Action: Show a notification saying, "Time to check your data usage!"
Constraint: Only trigger between 9:00 AM and 10:00 PM.
Tips
Test your macro by sending a sample SMS with the expected content to verify it works.
MacroDroid may require you to set it as your default SMS app temporarily to process incoming messages. You can revert this after configuring your macro.
PSN: Jirozi - Steam / uPlay / origin: jimz93
Je hebt er maar eentje nodigjimz93 schreef op zaterdag 4 januari 2025 @ 14:35:
Ik liep tegen hetzelfde probleem aan (ik wilde een geautomatiseerde "gb aanvuller". Ik heb dit nu opgelost door middel van de macrodroid app die op mijn telefoon draait. Bij een binnenkomende sms met de text van odido wordt automatisch "extra" ge-smst naar 1280:
Op dit moment heb ik 3 verschillende macro's ingesteld (met verschillende filters op de inkomende sms berichten).
1e: bij de eerste melding dat de bundel op is
2e: bij 80% aanvuller verbruikt
3e: bij 100% aanvuller verbruikt.
In alle gevallen stuurt ie direct een sms naar Odido om de boel weer af te toppen.
7090 kWp, 3 subsystemen (20x LG 320 Wp / 3x Canadian Solar 230 Wp)
Nee hoor, de lijst is hier ellenlang, soms met veel speedtesten gaat het om de minuut ongeveer.SMSfreakie schreef op zaterdag 4 januari 2025 @ 17:57:
per SMS kan je toch maar beperkter aanvullen per dag
7090 kWp, 3 subsystemen (20x LG 320 Wp / 3x Canadian Solar 230 Wp)
Oh dan hebben ze dat veranderd, bij T-Mobile was dit namelijk niet mogelijk (en op het begin bij odido ook niet, alleen als je van Tele2 af kwam)The Wizard schreef op zaterdag 4 januari 2025 @ 19:02:
[...]
Nee hoor, de lijst is hier ellenlang, soms met veel speedtesten gaat het om de minuut ongeveer.
Dan kan je ook geowon de oude automate scripts gebruiken, die zijn aardig simpel.
[ Voor 10% gewijzigd door ThaGuus op 05-01-2025 00:43 ]
Ik ben er zo eentje die van tele2 af kwam, dus idd alleen een "zachte limiet" gehad
PSN: Jirozi - Steam / uPlay / origin: jimz93
Aller eerst, hartelijk bedankt voor je response ! ik heb t bestand index.ts bewerkt, line 140 aangepast in if (bundle.ZoneColor == "NL" && bundle.BuyingCode == 'A0DAY01') {kerstens schreef op donderdag 26 december 2024 @ 10:51:
@timverdonschot
Er zijn meerdere bundles in ZoneColor NL, waardoor je telkens 98348Mb terug krijgt. Dit is dan ook de verkeerde bundel. Door het volgende aan te passen wordt er naar de juiste bundle gekeken.
code:
1 src/providerModels/TMobile/index.ts
regel 140code:
1 if (bundle.ZoneColor == "NL" && bundle.BuyingCode == 'A0DAY01') {
Doe vervolgens weer yarn build en run de tool. Nu zou het moeten werken.
yarn build op nieuw uitgevoerd
hij verwijst nu wel naar de juiste mb's alleen zegt hij dan cannot already get a new bundle.
Ik heb de buycode omgezet in A0DAY01, geen effect. ook buycode T2UNLBB2 geprobeerd. geen effect
Meeh u fixed it men! thanx! ben er heel blij mee, voor mensen die dus ook zon @work contract hebben als ik, BUYINGCODE=A0DAY05 dit is de gene die je zoekt.ThaGuus schreef op vrijdag 13 december 2024 @ 22:42:
https://gist.github.com/G...1ccf1154214be8b605d8cb88c
Deze postman collection kan je ook nog wel helpen. Bij de variabelen hoef je alleen de access_token in te stellen. Daarna voer je stap 1 en 2 uit. Die vullen automatisch de variabelen linked_subscription_apiurl en subscription_apiurl in doormiddel van de tests.
Super bedankt man
Mijn aandeel aan dit gebeuren, mocht iemand t script draaien op windows.
dit is een vbs file waarmee t script automatisch start wanneer je je pc opstart
open kladblok en kopieer onderstaande code in kladblok
Set objShell = CreateObject("WScript.Shell")
objShell.CurrentDirectory = "C:\Users\TMobile-NL-Unlimited-Bundle-Automated-docker-main"
objShell.Run "yarn start-daemon", 0, False
Verander t pad "C:\Users\TMobile-NL-Unlimited-Bundle-Automated-docker-main" in t pad waar jouw docker is opgeslagen.
Sla dit text bestand op als start-daemon.vbs
Maak een snelkoppeling van start-daemon.vbs
Plak de snelkoppelling in jouw startup folder C:\Users\" "AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Nu start het script onzichtbaar zodra je je pc aanzet
dit is een vbs file waarmee t script automatisch start wanneer je je pc opstart
open kladblok en kopieer onderstaande code in kladblok
Set objShell = CreateObject("WScript.Shell")
objShell.CurrentDirectory = "C:\Users\TMobile-NL-Unlimited-Bundle-Automated-docker-main"
objShell.Run "yarn start-daemon", 0, False
Verander t pad "C:\Users\TMobile-NL-Unlimited-Bundle-Automated-docker-main" in t pad waar jouw docker is opgeslagen.
Sla dit text bestand op als start-daemon.vbs
Maak een snelkoppeling van start-daemon.vbs
Plak de snelkoppelling in jouw startup folder C:\Users\" "AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Nu start het script onzichtbaar zodra je je pc aanzet
[ Voor 4% gewijzigd door timverdonschot op 08-01-2025 19:34 ]
Ik had een conflict met Internet op lage snelheid, ik kreeg hierdoor de melding dat ik geen MB aanvuller kon aanvullen omdat ik nog 11000mb over had. ik heb t script aangepast om de buycode van internet op lage snelheid te negeren. Ook heb ik een sectie toegepast dat onder de 500mb iedere 30 seconden de request wordt uitgevoerd. boven de 500mb reset dit zich weer naar 1minuut. Dit script werkt ook met de MB verdeler voor de mensen die daar geinteresseerd in zijn. Binnenkort ga ik dit verder op pakken om dit script te implementeren in een Open WRT 4G router.
import {
AvailableBundle,
Bundle,
Subscription,
SubscriptionsResource,
} from "./interfaces";
import fetch, { Headers } from "node-fetch";
import { fetchURI, makeHeaders } from "../../utils";
import dotenv from "dotenv";
dotenv.config();
export default class TMobile {
private API_URI: string;
private PERSONAL_API_URI: string;
private TMOBILE_MSISDN: string;
private DEFAULT_HEADERS: object = {
"User-Agent": "ODIDO 8.0.0 (Android 12; 12)",
};
private DEFAULT_AUTH_TOKEN_HEADERS: object = {
Authorization: `Basic ${process.env.BASIC_AUTH_TOKEN}`,
"Content-Type": "application/json",
};
private BearerAuthorizationCode: string;
private subscriptionURL: string;
private buyingCode: string;
constructor(BASE_URI: string = "https://capi.odido.nl") {
this.API_URI = BASE_URI;
this.TMOBILE_MSISDN = process.env.MSISDN || "";
this.BearerAuthorizationCode = process.env.AUTHORIZATIONTOKEN || "";
}
private async getSubscriptionsResource(): Promise<SubscriptionsResource> {
const URI = `${this.API_URI}/account/current?resourcelabel=LinkedSubscriptions`;
const headers: Headers = makeHeaders({
...this.DEFAULT_HEADERS,
Authorization: `Bearer ${this.BearerAuthorizationCode}`,
Accept: "application/json",
});
const response = await fetch(URI, { method: "GET", headers });
return response.json();
}
private async handleSubscriptionURL(): Promise<string> {
const subscriptionsResource = await this.getSubscriptionsResource();
const URI = subscriptionsResource.Resources[0].Url;
const headers: Headers = makeHeaders({
...this.DEFAULT_HEADERS,
Authorization: `Bearer ${this.BearerAuthorizationCode}`,
Accept: "application/json",
});
const response = await fetch(URI, { method: "GET", headers });
const jsonResponse = await response.json();
const subscription = jsonResponse.subscriptions.find(sub => sub.MSISDN === this.TMOBILE_MSISDN);
this.PERSONAL_API_URI = subscription.SubscriptionURL;
this.subscriptionURL = `${this.PERSONAL_API_URI}/roamingbundles`;
return this.subscriptionURL;
}
public async getMBsLeft(): Promise<number> {
const subscriptionURL = this.subscriptionURL || await this.handleSubscriptionURL();
const headers: Headers = makeHeaders({
...this.DEFAULT_HEADERS,
Authorization: `Bearer ${this.BearerAuthorizationCode}`,
Accept: "application/json",
});
const response = await fetch(subscriptionURL, { method: "GET", headers });
const jsonResponse = await response.json();
const bundles = jsonResponse.Bundles;
let MBsLeft = bundles
.filter(b => b.ZoneColor === "NL" && b.BuyingCode !== process.env.EXCLUDED_BUNDLE_CODE)
.reduce((total, b) => total + b.Remaining.Value / 1024, 0);
this.buyingCode = process.env.BUYING_CODE || "";
if (MBsLeft === 0 || MBsLeft === 11000) {
console.log(`Bundel wordt aangevraagd. Beschikbare MB's: ${MBsLeft}`);
await this.requestBundle();
} else {
console.log(`Nog voldoende MB's: ${MBsLeft} MB`);
}
return Math.floor(MBsLeft);
}
public async requestBundle() {
const subscriptionURL = this.subscriptionURL || await this.handleSubscriptionURL();
const headers: Headers = makeHeaders({
...this.DEFAULT_HEADERS,
Authorization: `Bearer ${this.BearerAuthorizationCode}`,
Accept: "application/json",
"Content-Type": "application/json",
});
const body = JSON.stringify({
Bundles: [
{
BuyingCode: this.buyingCode,
OverrulesAlways: true
}
]
});
const response = await fetch(subscriptionURL, { method: "POST", headers, body });
if (response.status === 202) {
console.log("✅ Nieuwe bundel is succesvol toegevoegd.");
} else {
console.log("❌ Kan geen nieuwe bundel kopen. Mogelijk al actief.");
}
}
public async startAutoCheck(defaultIntervalInSeconds = 300, fastIntervalInSeconds = 30) {
console.log(`⏳ Automatische bundelcheck gestart.`);
let currentInterval = defaultIntervalInSeconds * 1000;
const checkAndAdjustInterval = async () => {
const MBsLeft = await this.getMBsLeft();
if (MBsLeft < 500) {
if (currentInterval !== fastIntervalInSeconds * 1000) {
console.log("⚡ MB's onder 500MB, versnellen naar snelle check.");
currentInterval = fastIntervalInSeconds * 1000;
}
} else {
if (currentInterval !== defaultIntervalInSeconds * 1000) {
console.log("🔄 MB's boven 500MB, vertragen naar standaard check.");
currentInterval = defaultIntervalInSeconds * 1000;
}
}
};
await checkAndAdjustInterval();
setInterval(checkAndAdjustInterval, currentInterval);
}
}
const tmobile = new TMobile();
tmobile.startAutoCheck(300, 30);
import {
AvailableBundle,
Bundle,
Subscription,
SubscriptionsResource,
} from "./interfaces";
import fetch, { Headers } from "node-fetch";
import { fetchURI, makeHeaders } from "../../utils";
import dotenv from "dotenv";
dotenv.config();
export default class TMobile {
private API_URI: string;
private PERSONAL_API_URI: string;
private TMOBILE_MSISDN: string;
private DEFAULT_HEADERS: object = {
"User-Agent": "ODIDO 8.0.0 (Android 12; 12)",
};
private DEFAULT_AUTH_TOKEN_HEADERS: object = {
Authorization: `Basic ${process.env.BASIC_AUTH_TOKEN}`,
"Content-Type": "application/json",
};
private BearerAuthorizationCode: string;
private subscriptionURL: string;
private buyingCode: string;
constructor(BASE_URI: string = "https://capi.odido.nl") {
this.API_URI = BASE_URI;
this.TMOBILE_MSISDN = process.env.MSISDN || "";
this.BearerAuthorizationCode = process.env.AUTHORIZATIONTOKEN || "";
}
private async getSubscriptionsResource(): Promise<SubscriptionsResource> {
const URI = `${this.API_URI}/account/current?resourcelabel=LinkedSubscriptions`;
const headers: Headers = makeHeaders({
...this.DEFAULT_HEADERS,
Authorization: `Bearer ${this.BearerAuthorizationCode}`,
Accept: "application/json",
});
const response = await fetch(URI, { method: "GET", headers });
return response.json();
}
private async handleSubscriptionURL(): Promise<string> {
const subscriptionsResource = await this.getSubscriptionsResource();
const URI = subscriptionsResource.Resources[0].Url;
const headers: Headers = makeHeaders({
...this.DEFAULT_HEADERS,
Authorization: `Bearer ${this.BearerAuthorizationCode}`,
Accept: "application/json",
});
const response = await fetch(URI, { method: "GET", headers });
const jsonResponse = await response.json();
const subscription = jsonResponse.subscriptions.find(sub => sub.MSISDN === this.TMOBILE_MSISDN);
this.PERSONAL_API_URI = subscription.SubscriptionURL;
this.subscriptionURL = `${this.PERSONAL_API_URI}/roamingbundles`;
return this.subscriptionURL;
}
public async getMBsLeft(): Promise<number> {
const subscriptionURL = this.subscriptionURL || await this.handleSubscriptionURL();
const headers: Headers = makeHeaders({
...this.DEFAULT_HEADERS,
Authorization: `Bearer ${this.BearerAuthorizationCode}`,
Accept: "application/json",
});
const response = await fetch(subscriptionURL, { method: "GET", headers });
const jsonResponse = await response.json();
const bundles = jsonResponse.Bundles;
let MBsLeft = bundles
.filter(b => b.ZoneColor === "NL" && b.BuyingCode !== process.env.EXCLUDED_BUNDLE_CODE)
.reduce((total, b) => total + b.Remaining.Value / 1024, 0);
this.buyingCode = process.env.BUYING_CODE || "";
if (MBsLeft === 0 || MBsLeft === 11000) {
console.log(`Bundel wordt aangevraagd. Beschikbare MB's: ${MBsLeft}`);
await this.requestBundle();
} else {
console.log(`Nog voldoende MB's: ${MBsLeft} MB`);
}
return Math.floor(MBsLeft);
}
public async requestBundle() {
const subscriptionURL = this.subscriptionURL || await this.handleSubscriptionURL();
const headers: Headers = makeHeaders({
...this.DEFAULT_HEADERS,
Authorization: `Bearer ${this.BearerAuthorizationCode}`,
Accept: "application/json",
"Content-Type": "application/json",
});
const body = JSON.stringify({
Bundles: [
{
BuyingCode: this.buyingCode,
OverrulesAlways: true
}
]
});
const response = await fetch(subscriptionURL, { method: "POST", headers, body });
if (response.status === 202) {
console.log("✅ Nieuwe bundel is succesvol toegevoegd.");
} else {
console.log("❌ Kan geen nieuwe bundel kopen. Mogelijk al actief.");
}
}
public async startAutoCheck(defaultIntervalInSeconds = 300, fastIntervalInSeconds = 30) {
console.log(`⏳ Automatische bundelcheck gestart.`);
let currentInterval = defaultIntervalInSeconds * 1000;
const checkAndAdjustInterval = async () => {
const MBsLeft = await this.getMBsLeft();
if (MBsLeft < 500) {
if (currentInterval !== fastIntervalInSeconds * 1000) {
console.log("⚡ MB's onder 500MB, versnellen naar snelle check.");
currentInterval = fastIntervalInSeconds * 1000;
}
} else {
if (currentInterval !== defaultIntervalInSeconds * 1000) {
console.log("🔄 MB's boven 500MB, vertragen naar standaard check.");
currentInterval = defaultIntervalInSeconds * 1000;
}
}
};
await checkAndAdjustInterval();
setInterval(checkAndAdjustInterval, currentInterval);
}
}
const tmobile = new TMobile();
tmobile.startAutoCheck(300, 30);
Iemand een idee? Heb een Hello business abonnement. En gebruik deze in docker maar hoe kan ik er voor zorgen dat de 11GB lage snelheid bundel niet wordt meegerekend?
Docker
create a file called .env:
AUTHORIZATIONTOKEN=xxxxxxxxxx
MSISDN=+3161234567890
UPDATE_INTERVAL_HIGH=10
UPDATE_INTERVAL_MEDIUM=2
UPDATE_INTERVAL_LOW=0.5
BUYINGCODE=A0DAY01
DEBUG=0
docker pull ghcr.io/lodu/tmobile-nl-unlimited-bundle-automated:main
docker run --env-file .env ghcr.io/lodu/tmobile-nl-unlimited-bundle-automated:main
Docker
create a file called .env:
AUTHORIZATIONTOKEN=xxxxxxxxxx
MSISDN=+3161234567890
UPDATE_INTERVAL_HIGH=10
UPDATE_INTERVAL_MEDIUM=2
UPDATE_INTERVAL_LOW=0.5
BUYINGCODE=A0DAY01
DEBUG=0
docker pull ghcr.io/lodu/tmobile-nl-unlimited-bundle-automated:main
docker run --env-file .env ghcr.io/lodu/tmobile-nl-unlimited-bundle-automated:main
[ Voor 77% gewijzigd door Roy Tollenaar op 13-03-2025 17:40 ]
je hebt A0DAY05 buy code nodigRoy Tollenaar schreef op donderdag 13 maart 2025 @ 17:08:
Iemand een idee? Heb een Hello business abonnement. En gebruik deze in docker maar hoe kan ik er voor zorgen dat de 11GB lage snelheid bundel niet wordt meegerekend?
Docker
create a file called .env:
AUTHORIZATIONTOKEN=xxxxxxxxxx
MSISDN=+3161234567890
UPDATE_INTERVAL_HIGH=10
UPDATE_INTERVAL_MEDIUM=2
UPDATE_INTERVAL_LOW=0.5
BUYINGCODE=A0DAY01
DEBUG=0
docker pull ghcr.io/lodu/tmobile-nl-unlimited-bundle-automated:main
docker run --env-file .env ghcr.io/lodu/tmobile-nl-unlimited-bundle-automated:main
Bedankt, was er alleen zelf al achter toen de nieuwe periode begon en ik de buying code kon zien.
iemand anders hier die niet meer hoeft op te waarderen? het script zegt al dagen lang dat ik 20gb heb.
Is dit een "vergoeding" vanwege de bereik onderbrekingen de laatste weken? heb hier niks over kunnen vinden online
Is dit een "vergoeding" vanwege de bereik onderbrekingen de laatste weken? heb hier niks over kunnen vinden online
Ze hebben waarschijnlijk het systeem van dataverbruik registratie uit gezet om beter te kunnen achterhalen hoe de storing is ontstaan. Zelfs prepaid sim en abonnement waarvan de bundel op is hebben nu gewoon data.Search4gpu schreef op maandag 30 juni 2025 @ 20:32:
iemand anders hier die niet meer hoeft op te waarderen? het script zegt al dagen lang dat ik 20gb heb.
Is dit een "vergoeding" vanwege de bereik onderbrekingen de laatste weken? heb hier niks over kunnen vinden online