• Arduino,  Hardware,  Software

    Making a cheap pedestal fan smarter

    What more can you ask from a fan? They give us air in hot summers, and they don’t ask for much in return… Compared to the typical air conditioner, which consumes hundreds of watts, even more than a thousand, a pedestal fan is happy with less than 100, usually . Does it make sense to make them smart? Does it at least make more sense than the fact that I am writing this in the middle of January, when this same fan is already stored until summer comes again?

    As they say, “everything has already been invented”… There are already fan models with Wi-Fi that can be connected to your home automation system. Simple, you could pay from 70 to 100 euros and boom, you would already have a smart fan. But that’s not how things are done here at El Programador Ibérico 😏.

    Let’s start by disassembling the fan and seeing how it works. The front button panel has one input wire (which comes from the live wire) and three output wires, and when each of the buttons is pressed, the circuit between the input cable and one of the output cables is closed, leaving the rest unconnected. We will have to replicate this same operation: receive an order from the home automation server and activate one of 3 outputs, depending on the speed we want, deactivating the others.

  • Django,  HTML,  Python

    Django – Error in CreateView, the form does nothing, it does not save to the database

    Yay! New post…

    Yep, I came back to this, my abandoned blog, to tell you about how I solved an error I was having with Django and was driving me crazy for a some days…

    But first, Django? What is Django ?. Well, I am not going to go into much detail, but I will tell you that it is a web development framework that I discovered not so long ago, but I liked it a lot. Complete websites with great functionality are obtained with very little effort. It is based on python, which is a plus, since I recommend everyone to learn this programming language that is leading the list of favorite programming languages ​​🙂

    Among the building blocks of django, there are generic views, which are an easy way of creating listing, detail, edit, create and delete pages (among others) for entities in the database.

  • HTML,  Javascript

    Easy sortable and filterable lists in HTML/Javascript with List.js

    Let’s leave SAP aside for a while to talk about HTML and Javascript, which I also like 🙂.

    In a personal web project, I needed an easy way of making lists which data I could filter and sort, and a quick search on Lord Google gave me the answer: List.js

    List.js is a light and quick JavaScript library that let’s you easilly create data listings, allowing sort, search and much more.

    Like any JavaScript library, first we’ll need to download it and link it in our HTML document.

    <script type="text/javascript" src="/js/list.min.js"></script>

    We will define a div for out list, in which we will create our list with
    and tags. A class needs to be defined for the list. For now, we will leave it as “list”. List.js will search for this class to interact with the HTML.

    <div id="lenguajes">
    <ul class="list">
    <p class="puesto">Puesto: 1 <img src="/img/oro.png" alt="" /></p>
    <p class="lenguaje">Lenguaje: Java</p>
    . . .
  • SAP

    Debugging a dialog window

    If you have been working with SAP for a while debugging programs, you’ll most probably know the “/h” command, that activates the debugger from any SAP transaction.

    Maybe then you have stumbled upon a program/transaction which does not have the command box enabled, so it would seem is not debuggable. An example of these transactions is CG3Y, which main window is a dialog, which locks the focus and does not allow the execution of commands in the command box at the top left corner.

    In case we need it, how do we debug this transaction then? One of the solutions is having in hand an SAP command file. Open a notepad, paste the following code and save it with any name:

  • SAP

    Icons in transport requests

    Transport requests. The way of moving changes between systems in SAP. Maybe you have seen a transport request with an icon in the description, like below:

    An icon in the description? Yes. Isn’t it nice? Apart of looking nice, it is useful for distinguishing transport requests, for example, the ones that contain changes being done, the ones being tested, the ones ready for transport… But, how do we use icons in the description?

  • Off-topic,  SAP

    El Programador Ibérico, now in English

    Welcome to “El programador Ibérico” (The Iberic Programmer”), a blog attempt where I will share with you information about the software development world, like tips, tricks, code examples and even some news now and then.

    But first of all, who am I? My name is Luis Alejandro Domínguez Bueno, a young (but unfortunately less young every time) man from Malaga, in Spain, who is passionate about technology and software. I have grown up taking apart every gadget that I have put my hands on, so I have learned a couple of things about electronics too. In a particular moment in my life, I became interested in software development, and I started making my first test videogames in environments like GameMaker and RPG Maker. I took a Superior Grade Formative Course in Computer Application Development, and I currently work at Accenture, where I learned about SAP and ABAP development.

    When I started this blog 6 years ago in Spanish, I thought the majority of my posts would be about SAP, since that’s what I was working with, but most of my posts have been about Arduino or similar development boards. I do not promise regularity in the time between posts, but I promise interesting content (interesting for us geeks 😊).

    English is not my native language, and I don’t have any formal studies on it. I just learnt it consuming media in english. Because of that, my english probably is a mix of american and british, and I will probably write things in a more complicated way than a native person would, but I’ll try my best 😉.

    Not a lot more to say. I will see you in my next post!

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver